Я знаю, что могу переопределить onBackPressed() на более высоких уровнях API, чтобы определить, нажата ли клавиша возврата.Есть ли аналогичный способ сделать это для кнопки меню?Я не большой поклонник проверки кода ключа в KeyEvents.Спасибо!
onBackPressed()
Вы в поисках этого ????:
public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.KEYCODE_MENU) { //do your work return true; } return super.onKeyDown(keyCode, event); }
Если вы просто хотите создать прослушиватель клавиш для кнопки меню, вам нужно переопределить onKeyDown и проверить код клавиши. Теперь, так как вы указали, что вы не большой поклонник этого, вы также можете переопределить onPrepareOptionsMenu , который вызывается каждый раз, когда нажимается кнопка меню и пользователю показывается меню. Я не уверен, вызывается ли это, если вы не указали меню внутри метода onCreateOptionsMenu .