将焦点更改为EditText Android

Pre*_*exx 19 android focus android-edittext

我的Activity上有2个EditText,并设置maxLength为5.

现在我想把焦点设置为editText2,如果达到5的长度editView1...

我尝试过:

editView1.setOnKeyListener(new OnKeyListener() {
    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        if(editView1.getText().length() == 5)
            editView2.requestFocus();
        return false;
    }
});
Run Code Online (Sandbox Code Playgroud)

但它不会起作用..

小智 41

这有效

final EditText editText1 = (EditText) findViewById(R.id.editText1);
final EditText editText2 = (EditText) findViewById(R.id.editText2);

editText1.setOnKeyListener(new OnKeyListener() {

    @Override
    public boolean onKey(View v, int keyCode, KeyEvent event) {
        if(editText1.getText().length() == 5)
            editText2.requestFocus();
        return false;
    }
});
Run Code Online (Sandbox Code Playgroud)

  • 无法工作......我认识到,如果我使用"退格"键,事件才会被解雇...... (2认同)