当我在键盘上单击 Enter 时(当我在第一个 EditView 中时),我想为另一个 EditView(而不是我正在使用的那个)打开键盘。
场景应该是这样的:我在键盘上为第一个 EditView 写了一些东西,我已经完成了,所以我按“Enter”,它打开了第二个 EditView 的键盘。
我尝试了不同的代码但没有成功,如果有人可以帮助我。
如果我明白这里就是答案
editText.setImeOptions(EditorInfo.IME_ACTION_NEXT);
您基本上想在按 Enter 后将焦点从 1 EditText 切换到另一个。
这可以通过在第一个 EditText 上设置“setNextFocusDownId”选项来轻松完成。
firstEditText.setNextFocusDownId(R.id.secondEditTextId);
我通过像 Kasper 建议的那样使用“setNextFocusDownld”搜索找到,使用这个答案:Android Softkey's next button not getting focus to spinner
我使用的代码是:
mEditText.setNextFocusDownId(R.id.textView2b);
mEditText.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
// If the event is a key-down event on the "enter" button
if ((event.getAction() == KeyEvent.ACTION_DOWN)
&& (keyCode == KeyEvent.KEYCODE_ENTER)) {
// Perform action on Enter key press
mEditText.clearFocus();
mEditText2.requestFocus();
return true;
}
return false;
}
});
mEditText2.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
// If the event is a key-down event on the "enter" button
if ((event.getAction() == KeyEvent.ACTION_DOWN)
&& (keyCode == KeyEvent.KEYCODE_ENTER)) {
// Perform action on Enter key press
mEditText2.clearFocus();
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(mEditText2.getWindowToken(), 0);
return true;
}
return false;
}
});