Что я хочу: знать, когда пользователь нажал кнопку, на которой, например, есть номер «2». Меня не волнует, были ли нажаты клавиши «Alt» или «Shift». Пользователь нажал кнопку, и я хочу оценить, напечатана ли на этой кнопке «2».Как определить, какая клавиша была нажата на BlackBerry
Естественно, если я переключу устройства, этот ключ изменится. На Bold 9700/9500 это клавиша «E». На жемчужине это клавиша «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
, но я не могу найти константы, сопоставленные фактическим кнопкам на устройстве.
Будут ли более опытные разработчики BlackBerry оказывать помощь?
Спасибо!
«Grätz на 1к. – Cephron