@Ryabos

Как при нажатии enter на одном EditText перейти на другой EditText?

Делаю форму, для которой критична скорость заполнения. Решил сделать так: в EditTextA вводим текст, нажимаем enter, и сразу можно вводить текст в EditTextB, без нажатия на него. Но при клике на enter клавиатура не появляется, хотя курсор перемещается с EditTextA на EditTextB.

fieldA.setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View view, int keyCode, KeyEvent keyEvent) {
                if (keyEvent.getAction() == KeyEvent.ACTION_DOWN &&
                        keyCode == KeyEvent.KEYCODE_ENTER) {
                    Object service = getActivity().getSystemService(Context.INPUT_METHOD_SERVICE);
                    if (service != null) {
                        ((InputMethodManager) service).hideSoftInputFromWindow(fieldA.getWindowToken(), 0);
                        fieldB.requestFocus();
                        ((InputMethodManager) service).showSoftInput(fieldB, InputMethodManager.SHOW_IMPLICIT);
                    }
                    return true;
                }
                return false;
            }
        });


Пробовал различные комбинации трёх строк внутри блока if, результат один.
Возможно дело в параметре android:imeOptions для EditTextA?
  • Вопрос задан
  • 532 просмотра
Решения вопроса 1
@terminator-light
уберите лисенер с EditText, просто добавьте к разметке
android:maxLines="1"
android:inputType="text"
android:imeOptions="actionNext"

How to move your focus through EditText on Android
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы