我必须像这样不同的 EditText :
- EditText1 的输入类型为“textCapWords”
- EditText2 的输入类型为“number”
当我启动 Activity 时,我立即请求将焦点放在 EditText1 上。唯一可行的方法是将其添加到 onCreate 上:
getWindow().setSoftInputMode(
WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
EDITTEXT1.requestFocus();
当用户单击软键盘上的“返回”时,我希望 EDITTEXT2 获得焦点。所以我添加了这个:
EDITTEXT1.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == 66) { // CODE FOR RETURN
EDITTEXT2.requestFocus();
}
return false;
}
});
但是当我这样做时,什么也没有发生。我所有的 EditText 都设置为 FocusableInTouchMode 和 Focusable :
<EditText
android:id="@+id/EDITTEXT1"
android:layout_width="0dip"
android:layout_height="20dip"
android:layout_weight="2"
android:background="@color/White"
android:ems="10"
android:hint="My First EditText"
android:inputType="textCapWords"
android:padding="2dip"
android:singleLine="true"
android:textColor="@color/Black"
android:textSize="12dip" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/EDITTEXT2"
android:layout_width="0dip"
android:layout_height="20dip"
android:layout_weight="2"
android:background="@color/White"
android:ems="10"
android:hint="My Second EditText"
android:inputType="textCapWords"
android:padding="2dip"
android:singleLine="true"
android:textColor="@color/Black"
android:textSize="12dip" >
</EditText>
您知道如何在 EDITTEXT1 上按“确定”后将焦点集中在 EDITTEXT2 上吗?
提前致谢!
最佳答案
非常感谢您的回答。我终于找到了回答我自己的问题的最简单方法:
添加:
android:nextFocusRight="@+id/EDITTEXT2"
到 EDITTEXT1 的属性。
在 EDITTEXT1 上单击“Enter”后,无需执行其他任何操作即可转到 EDITTEXT2。
关于android - 请求焦点从一个编辑文本到另一个具有不同 inputType 的编辑文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12514762/