我有一個有兩個EditText字段的活動。所以當我在第一個按下輸入時,第二個就變得專注了。Android:如何忽略回車鍵,使焦點不會改變
但是,我想在第一個EditText中有時禁用Enter鍵(例如,當我認爲用戶沒有對第一個EditText進行正確輸入時)。
我已經覆蓋onKeyDown的第一個EditText,當key事件是KEYCODE_ENTER時返回true,但這沒有幫助。
我該怎麼辦?
我有一個有兩個EditText字段的活動。所以當我在第一個按下輸入時,第二個就變得專注了。Android:如何忽略回車鍵,使焦點不會改變
但是,我想在第一個EditText中有時禁用Enter鍵(例如,當我認爲用戶沒有對第一個EditText進行正確輸入時)。
我已經覆蓋onKeyDown的第一個EditText,當key事件是KEYCODE_ENTER時返回true,但這沒有幫助。
我該怎麼辦?
如何添加OnFocusChangeListener?當您的EditText失去焦點時,您可以進行驗證,並可以爲「正確」字段執行requestFocus。
只需通過添加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;
}
});
和編輯文本必須是singleLine =「true」 – ldd
是的,但如果在onFocusChangeListener我把焦點回到我的EditText那將完全阻止我離開我的EditText,直到我做了「正確」的輸入。我真的不想那樣。相反,在這種情況下,我想僅禁用Enter鍵。 您認爲我最好不要這樣做,因爲這可能與Android UI準則相矛盾? –
也許這有助於:http://stackoverflow.com/questions/1489852/android-handle-enter-in-an-edittext – Tom