Почему EditText не теряет фокус после скрытой программной клавиатуры? - PullRequest
1 голос
/ 06 марта 2019

Как EditText остается в фокусе после скрытия программной клавиатуры (пользователь нажимает кнопку Готово / Ввод / Поиск )?

Не могли бы вы дать мне некоторые объяснения по этому поводу?

Ответы [ 3 ]

1 голос
/ 06 марта 2019

Это поведение Android по умолчанию. Вы можете вызвать view.clearFocus () при нажатии клавиши Enter, чтобы переопределить это.

0 голосов
/ 07 марта 2019

- Добавить следующую строку кода в ваш конкретный вид деятельности.

EditText edt_user = findViewById(R.id.edt_user);      
    InputMethodManager imm = (InputMethodManager)this.getSystemService(Service.INPUT_METHOD_SERVICE);
        imm.showSoftInput(edt_user,0);

    edt_user.setOnKeyListener(new OnKeyListener() {

        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event) {
            // TODO Auto-generated method stub
            if ((event.getAction() == KeyEvent.ACTION_DOWN)
                    && (keyCode == KeyEvent.KEYCODE_ENTER)) {

                edt_user.clearFocus();
            }
            return false;
        }
    });
0 голосов
/ 06 марта 2019

Ваше приложение и Android программная клавиатура ( фондовая ) - это разные процессы приложения.И хотя Android заботится об «уведомлении» приложения программной клавиатуры о EditText запросах фокуса вашего приложения , ни Android , ни приложение программной клавиатуры не должны отвечатьдля EditText изменения фокуса вашего приложения .Ваше приложение имеет достаточно обратных вызовов от программной клавиатуры, чтобы очистить фокус.

...