Как узнать, какая клавиша нажата в старом Android SDK (<12) - PullRequest
0 голосов
/ 09 февраля 2012

У меня проблема, я написал функцию, которая переопределяет onKeyDown, поэтому, чтобы узнать, какая кнопка нажата, я написал это:

KeyEvent.keyCodeToString(keyCode).replace("KEYCODE_", "");

Все работало, но когда я пытался запустить приложение на старом устройстве с SDK <12 (3.1), он говорит, что такого метода не существует. </p>

Так как мне узнать значение нажатой кнопки?

1 Ответ

0 голосов
/ 09 февраля 2012

Ну, метод был добавлен позже, хотя в качестве справки вы можете использовать getDisplayLabel для основных клавиш, но это вернет вам только один символ, представляющий метку нажатой кнопки.
Теперь, поскольку KeyEvents - это Ints ине перечисление, не так-то просто получить имя кода, так как это только имя переменной.Вы можете попробовать использовать отражение, чтобы получить имя переменной кода клавиши, но это кажется тяжелым механизмом, если вы начинаете регистрировать каждую кнопку, которую нажимает пользователь ...

...