我想要什麼:例如,要知道用戶何時按下了具有數字「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