我有一个包含两个EditText字段的Activity。因此,当我按下第一个输入时,第二个变为焦点。
但是我想有时在第一个EditText中禁用Enter键(例如,当我认为用户没有在第一个EditText中输入正确的内容时)。
当key事件是KEYCODE_ENTER但没有帮助时,我已经覆盖onKeyDown,因为第一个EditText返回true。
我该怎么办?
答案 0 :(得分:0)
添加OnFocusChangeListener怎么样?当您的EditText失去焦点时,您可以进行验证,并可以为“正确”字段执行requestFocus。
答案 1 :(得分:0)
只需添加editorActionListener:
editText1.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_DONE || event.getKeyCode() == KeyEvent.KEYCODE_ENTER) {
if(isValidContent(editText1.getText().toString()){
editText2.requestFocus();
return true;
} else {
....
}
}
return false;
}
});