I am using a simple EditText
and register an View.OnKeyListener
. Some GUI changes should开发者_运维知识库 happen (fading in/out of views) when certain conditions for the EditView text apply.
In the emulator, this works as expected. On the Motorola Droid/Milestone, the listener does not work, only
- after pressing DEL, the listener is called the first time and always afterwards
- when activating the number input, the listener works correctly
Note: I deactivated the suggestions with TYPE_TEXT_FLAG_NO_SUGGESTIONS and used the IME action IME_ACTION_GO to have a workaround for this (otherwise the user could not "start" a request).
Found a better and working way to implement this: use EditText.addTextChangedListener
with a TextWatcher
class (and implement TextWatcher.onTextChanged(CharSequence s, int start, int before, int count)
), works perfectly also on the Milestone/Droid.
TextWatcher cannot fully replace onKeyListener. For example, if your textbox is empty, how would you detect that user pressed DEL key? Or, what if you don't have textbox at all and you want to detect key events?
精彩评论