Я практикую добавление пунктов меню и пытаюсь реагировать на клики пунктов меню. Согласно руководству разработчика, там сказано:
Совет. В Android 3.0 добавлена возможность определять поведение элемента меню при щелчке в формате XML с помощью атрибута android:onClick. Значением атрибута должно быть имя метода, определенного действием с помощью меню. Метод должен быть общедоступным и принимать один параметр MenuItem — когда система вызывает этот метод, она передает выбранный пункт меню. Дополнительные сведения и пример см. в документе «Ресурс меню».
Однако пример кода на той же странице не следует правилу: методы не передают параметр MenuItem. Пример кода:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
case R.id.new_game:
newGame();
return true;
case R.id.help:
showHelp();
return true;
default:
return super.onOptionsItemSelected(item);
}
}
Мой вопрос: не должны ли вызовы метода быть newGame (элемент MenuItem) и showHelp (элемент MenuItem) вместо newGame () и showHelp ()? Когда я тестировал свой собственный, на самом деле был необходим аргумент (элемент MenuItem), иначе приложение падало, даже если оно компилировалось правильно.
Любая помощь будет оценена по достоинству.