Android:imeOptions не перейти к следующему точному EditText

У меня есть 2 EditText с идентификатором (et_1 and et_2) в макете, и я установил

для et_1

android:imeOptions="actionNext",
android:nextFocusForward="@+id/et_2"

когда et_1 фокусируется, и программная клавиатура показывает "Далее", а когда я нажимаю "Далее", фокус не переходит на et_2, но к другому EditText в другом макете фрагмента. Почему так?

Как заставить фокус перейти на et_2?

Благодарю.

3 ответа

Решение

Попробуйте изменить,

android:nextFocusForward="@+id/et_2"

в

android:nextFocusDown="@+id/et_2"

Я надеюсь, что это помогает!

Я понял, что ссылки не скрывают клавиатуру

android:nextFocusDown="@+id/et_2" 

Чтобы скрыть клавиатуру, добавьте actionDone

     <EditText
                        android:id="@+id/editTextEnterAmount"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:hint="Enter Amount"

                        android:imeOptions="actionDone"

/>

У меня была такая же проблема в одном из моих приложений. Вместо этого я включил слушателя в свою деятельность, когда нажал "Далее", а затем просто вручную изменил фокус. Как это:

final EditText et_1 = (EditText)findViewById(R.id.et_1);
final EditText et_2 = (EditText)findViewById(R.id.et_2);

// listen on the et_1 EditText
et_1.setOnEditorActionListener(new OnEditorActionListener() {        
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        if(actionId == EditorInfo.IME_ACTION_NEXT) { // "Next was selected"
            et_2.requestFocus(); // focus on et_2
        }
        return true;
    }
});
Другие вопросы по тегам