我的应用程序中有一组用户需要填写的 EditText。按软键盘上的“下一步”将焦点移到下一个 EditText,在最后一个我捕获软键 Enter 操作以验证并提交输入数据。如果存在验证错误(例如未填充的字段),相关字段(即未填充的字段)会请求焦点,同时还会显示一个 toast 以显示错误。
如果我使用调用相同验证功能的发送按钮,它工作正常(专注于正确的项目),但如果我点击软键盘上的 Enter 按钮,焦点会跳转到导致验证错误的 EditText 并立即移动到紧随其后的那个。
这是在最后一个 EditText 上设置侦听器的片段。
lastEditText.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if ((event.getAction() == KeyEvent.ACTION_DOWN) && (keyCode == KeyEvent.KEYCODE_ENTER)) {
if(validateFields()){ //Validation function
sendPressed(); //Submit function
}
return true;
}
return false;
}
});
任何帮助,将不胜感激..