Android (Milestone / Droid): View.OnKeyListener не работает правильно? - PullRequest
2 голосов
/ 07 января 2010

Я использую простой EditText и регистрирую View.OnKeyListener. Некоторые изменения в графическом интерфейсе должны происходить (исчезновение / исчезновение видов), когда применяются определенные условия для текста EditView. В эмуляторе это работает как положено. На Motorola Droid / Milestone не работает слушатель, только

  1. после нажатия DEL слушатель вызывается в первый раз и всегда после него
  2. при активации ввода номера слушатель работает правильно

Примечание: я деактивировал предложения с помощью TYPE_TEXT_FLAG_NO_SUGGESTIONS и использовал IME-действие IME_ACTION_GO, чтобы обойти это (в противном случае пользователь не смог бы «запустить» запрос).

Ответы [ 2 ]

5 голосов
/ 09 января 2010

Найден лучший и эффективный способ реализации этого: используйте EditText.addTextChangedListener с классом TextWatcher (и реализуйте TextWatcher.onTextChanged(CharSequence s, int start, int before, int count)), отлично работает также на Milestone / Droid.

0 голосов
/ 26 ноября 2010

TextWatcher не может полностью заменить onKeyListener. Например, если ваше текстовое поле пусто, как бы вы обнаружили, что пользователь нажал клавишу DEL? Или, что если у вас нет текстового поля вообще, и вы хотите обнаружить ключевые события?

...