Разве нажатие клавиши Enter на клавиатуре не эквивалентно щелчку мыши в Android?
Кнопки в моем макете не нажимаются на клавишу Enter. Когда я нажимаю на них мышью, код внутри onClick() выполняется. Но когда я нажимаю клавишу Enter, onClick() не вызывается.
Я знаю, что для ключей я должен использовать вместо OnKeyListener. Однако onClick() не работает как для щелчка мышью, так и для ввода с клавиатуры? Кроме того, навигация вверх и вниз с помощью клавиш со стрелками работает просто отлично, только клавиша "Ввод" не работает!
В моем приложении я использую вложенные линейные макеты, тему (стиль кнопок), селектор и анонимную реализацию OnFocusChangeListener. Также я использую эмулятор с заданным соотношением сторон. Может ли что-нибудь из этого быть отнесено к этой проблеме?
Любая помощь приветствуется!
- Кики
1 ответ
Я столкнулся с той же проблемой. Используйте кнопку изображения вместо кнопки.
Кроме того, если вы все еще хотите использовать кнопку, то:
- Ваша активность должна реализовывать OnKeyListener.
- Для вашей кнопки: mYourButton.setOnKeyListener (this);
- Переопределите onKey() и обработайте KEYCODE_ENTER.
Надеюсь это поможет.