Процесс обработки ключевых событий - PullRequest
0 голосов
/ 16 марта 2010

Хотелось бы узнать, как обрабатывается ключевое событие на платформе Android. С 'когда пользователь вводит клавишу' а 'на программной клавиатуре', Для «просмотра нарисуйте символ» «на себе».

Возможно, ключевое событие генерируется IME, И это будет отправлено в родительский вид, Наконец, представление (например, EditText) отображает символы.

Пожалуйста, кто-нибудь объяснит обо всем этом процессе обработки ключевых событий.

Ответы [ 2 ]

1 голос
/ 16 марта 2010

Взгляните на эту статью: http://developer.android.com/resources/articles/creating-input-method.html

По сути, вы можете либо вручную отправить KeyEvent с, либо вы можете вручную редактировать и фиксировать текст вокруг курсора во входных данных приложения View.

Все это делается через ваш IME InputConnection.

0 голосов
/ 17 марта 2010

OnKeyListener и OnKeyDown не вызываются, как вы обнаружили, при использовании программной клавиатуры. Их вызывают только при использовании аппаратной клавиатуры, которой нет на многих устройствах Android.

Я предполагаю, что вы пытаетесь захватить ключевые события, которые происходят в области EditText. В этом случае лучше всего обрабатывать как программный, так и аппаратный ввод клавиатуры: зарегистрировать TextWatcher с помощью метода addTextChangedListener ().

Обратите внимание, что на телефонах с Android 2.1 и более поздними версиями, таких как Nexus One, люди имеют возможность использовать распознавание речи для ввода текста в ваш EditText вместо ввода текста. Когда они это сделают, вы можете получить полные слова или даже полные предложения, введенные сразу. Поэтому вам нужно проверить все содержимое поля EditText при изменении содержимого.

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