Я привязал OnKeyListener к EditText. Я перепробовал обработчик onKey для захвата KeyEvent.
Когда пользователь нажимает клавишу ввода (либо их компьютер вводит ключ при использовании эмулятора, либо аппаратный ключ ввода на своем телефоне с аппаратной клавиатурой), обработчик onKey выполняется дважды. Оба исполнения имеют keyCode 66.
Почему это происходит?
Я хочу, чтобы мой экран, когда пользователь нажимает клавишу ввода, выполняется поиск. Из-за того, что происходит, поиск бесполезно происходит дважды.
Мой метод выглядит следующим образом:
mFilter.setOnKeyListener(new View.OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER) {
// perform search
return true;
}
return false;
}
});