Android:如何忽略Enter键,因此焦点不会改变

时间:2011-10-17 20:07:51

标签: android android-edittext setfocus

我有一个包含两个EditText字段的Activity。因此,当我按下第一个输入时,第二个变为焦点。

但是我想有时在第一个EditText中禁用Enter键(例如,当我认为用户没有在第一个EditText中输入正确的内容时)。

当key事件是KEYCODE_ENTER但没有帮助时,我已经覆盖onKeyDown,因为第一个EditText返回true。

我该怎么办?

2 个答案:

答案 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;
        }
    });