我想要什么:例如,要知道用户何时按下了具有数字“2”的按钮。我不在乎是否按下“Alt”或“Shift”键。用户已经按下了一个按钮,并且我想评估这个按钮上是否打印有'2'。如何找出在BlackBerry上按下哪个按键
当然,如果我切换设备,这个键会改变。在Bold 9700/9500上,这是'E'键。在Pearl上,这是'T'/'Y'键。
我已经成功地获得这似乎是一种迂回的方式,通过查找“2”字的键码与启用ALT键,使用Keypad.key()
获得实际的按钮,这方面的工作:
// figure out which key the '2' is on:
final int BUTTON_2_KEY = Keypad.key(KeypadUtil.getKeyCode('2', KeypadListener.STATUS_ALT, KeypadUtil.MODE_EN_LOCALE));
protected boolean keyDown(int keycode, int time) {
int key = Keypad.key(keycode);
if (key == BUTTON_2_KEY) {
// do something
return true;
}
return super.keyDown(keycode,time);
}
我不禁想知道是否有更好的方法来做到这一点。我查看了在KeypadListener
和Keypad
中定义的常量,但找不到映射到设备上实际按钮的任何常量。
有更多有经验的黑莓开发者会帮忙吗?
谢谢!
'1 g。 – Cephron 2011-07-11 17:57:58