Android 按下键盘上的“回车”按钮后,如何将控制从一个文本视图传递到另一个文本视图?
我有两个文本视图如下所示,在第一个文本视图中按enter按钮后,光标应转到第二个文本视图。怎么做Android 按下键盘上的“回车”按钮后,如何将控制从一个文本视图传递到另一个文本视图?,android,Android,我有两个文本视图如下所示,在第一个文本视图中按enter按钮后,光标应转到第二个文本视图。怎么做 <AutoCompleteTextView android:id="@+id/txt_login_username" android:layout_width="300dp" android:layout_height="40dp" android:layout_above="@+id/pengala_logo"
<AutoCompleteTextView
android:id="@+id/txt_login_username"
android:layout_width="300dp"
android:layout_height="40dp"
android:layout_above="@+id/pengala_logo"
android:layout_alignLeft="@+id/txt_login_pwd"
android:ems="10"
android:hint="Please enter Email"
android:inputType="textAutoComplete"
android:textColorHint="#ffffff"
android:textSize="20sp" />
<requestFocus />
<EditText
android:id="@+id/txt_login_pwd"
android:layout_width="300dp"
android:layout_height="40dp"
android:layout_alignLeft="@+id/btn_login_submit"
android:layout_alignTop="@+id/text"
android:ems="10"
android:hint="Please enter Password"
android:inputType="textPassword"
android:textColorHint="#ffffff"
android:textSize="20sp" />
试试这个,
EditBox
拥有requestFocus()
您可以在单击按钮时使用它
EditText.requestFocus();
看,您可以简单地使用
android:imeOptions=“actionNext”
在您的txt\u login\u用户名上的选项
更改“回车”键以转到“下一个”输入。您可能需要指定android:singleLine=“true”
,因为这不适用于多行输入
可以找到文档。我认为应该可以
EditText editText1=(EditText)findViewById(R.id.text1);
EditText editTtext2=(EditText)findViewById(R.id.text2);
editText1.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if(event.getKeyCode() == KeyEvent.KEYCODE_ENTER){
editTtext2.requestFocus();
}
return true;
}
});
使editText1单行为true。这更通用。其他答案提供的缩放范围很小。这与Android表单的设计有关,而不是在后台听按键。一旦你到达表单的末尾,Android甚至会在回车按钮上用
Go
替换Next
。
final EditText editText = (EditText) findViewById(R.id.editText1);
editText.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v , int keyCode , KeyEvent event) {
EditText editText2 = (EditText) findViewById(R.id.editText2);
// TODO Auto-generated method stub
if (keyCode == event.KEYCODE_A) {
Selection.setSelection((Editable) editText2.getText(),editText.getSelectionStart());
editText2.requestFocus();
}
return true;
}
});