如何保持对当前EditText的关注



我的Fragment中有3个EditText(editText1、editText2和editText3(。当我在软键盘上单击"下一步"时,焦点当前转到下一个EditText。我还检查这些编辑框的内容是否有效(比如有效的电子邮件等(。让我们假设checkEditText_((工作正常。

对于editText1,我解决了如下问题:

editText1.setOnKeyListener(new View.OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((event.getAction() == KeyEvent.ACTION_DOWN) &&
(keyCode == KeyEvent.KEYCODE_NAVIGATE_NEXT)) {
if (!checkEditText1()) { // editText1 content fail
editText1.clearFocus();
editText1.requestFocus();
edi tText1.selectAll();
} else if (!checkEditText2()) { // editText2 content fail
editText1.clearFocus();
editText2.requestFocus();
} else if (!checkEditText3()){ // editText3 content fail
editText1.clearFocus();
editText3.requestFocus();
}
return true;
}
return false;
}
});

对于editText1,当它自己的内容没有成功时,它应该保留并保持对自己的关注。否则,它将专注于其他两个剩余的editText,以推动用户更正那里的错误。。

但是当checkEditText1((失败时,它不像第一个if子句那样集中。。。

如何正确地保持在当前EditText中

使用此:

android:imeOptions="actionDone"

无需监听任何keyEvent。

相关内容

  • 没有找到相关文章

最新更新