8

如何使用硬键盘或软键盘可靠地检测按键?

我的应用程序通过 wifi 远程控制另一台设备,我需要检测软键盘或硬键盘上的每个按键。我真的不需要 EditText,因为我只需要在按下字符时一次发送一个字符,不需要最终的文本字符串。

我曾尝试将 EditText 与 OnKeyPress 一起使用,但在这里遇到了问题,即没有使用软键盘进行按键操作。TextWatcher不是一个好的选择,因为我需要每次按键。

如果必须,我会使用 EditText,但不希望这样做。我真正想要的是:

  • 当用户点击搜索按钮时调出软键盘
  • 用户按键,我将代码传输到远程设备。不需要在 EditText 的屏幕上看到任何内容,因为它将显示在远程设备上
  • 用户按下软键盘上的自定义完成按钮将其关闭

有什么建议么?

4

1 回答 1

1

好吧,您可以覆盖应用程序活动类中的 [ onKeyDown(int keyCode, KeyEvent event)][1] 和(或)[ onKeyUp(int keyCode, KeyEvent event)][2] 方法,这将使您甚至可以收到有关诸如后退键和其他硬件键之类的键的通知...

注意:您可以收到有关轨迹球运动等的通知...

[1]: http://developer.android.com/reference/android/view/View.html#onKeyDown(int , android.view.KeyEvent) [2]: http://developer.android.com/reference/ android/view/View.html#onKeyUp(int , android.view.KeyEvent)

于 2010-11-23T17:26:24.317 回答