Android onKey с виртуальной клавиатурой - PullRequest
2 голосов
/ 12 января 2010

Я ловлю события клавиатуры / нажатия, используя метод onKey:

public boolean onKey(View arg0, int arg1, KeyEvent arg2) {
    //do something
    return false;
}

При физических нажатиях на клавиатуре это срабатывает очень хорошо, но на виртуальных нажатиях не срабатывает. Есть ли обработчик событий для обработки нажатий виртуальной клавиатуры?

Ответы [ 3 ]

8 голосов
/ 12 января 2010

Если это EditText, посмотрите, можете ли вы использовать вместо него TextChangedListener.

myEditText.addTextChangedListener(new TextWatcher(){
        public void afterTextChanged(Editable s) {}
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            //do stuff
        }

    });
1 голос
/ 13 января 2010
myEditText.addTextChangedListener(new TextWatcher(){
        public void afterTextChanged(Editable s) {}
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
        public void onTextChanged(CharSequence s, int start, int before, int count) {
            //do stuff
        }

    });
1 голос
/ 13 января 2010

Виртуальные нажатия клавиш доставляются непосредственно в выбранный вид, они не распространяются через родительские виды, как аппаратные нажатия клавиш. Вы переопределяете onKey на что-то кроме EditText / List / независимо от того, что вызывает нажатия клавиш? (вещь, на которую вы нажимаете, чтобы получить виртуальную клавиатуру)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...