开发者

Android (Milestone/Droid): View.OnKeyListener not working correctly?

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

  1. after pressing DEL, the listener is called the first time and always afterwards
  2. 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?

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜