Я просто хочу, чтобы меню опций переключало мое скользящее меню, но havent нашла стандартное нажатие кнопки для кнопки параметров. Является ли OnPrepareOptionsMenu единственным методом, который срабатывает при нажатии кнопки параметров? Я не хочу использовать этот метод, потому что этот метод также запускается, когда приложение запускается.on OptionsMenu click listener
0
A
ответ
1
UPDATE: для кнопки меню (кнопка аппаратного обеспечения), вы можете использовать событие OnKeyUp:
public boolean onKeyUp(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_MENU) {
if (event.getAction() == KeyEvent.ACTION_UP)
{
Log.d("onkeyup", "onkeyup");
return true;
}
}
return super.onKeyUp(keyCode, event);
}
ПРИМЕЧАНИЕ: ниже решение является для ActionBar
Просто переопределить функцию onOptionsItemSelected
. Вы можете прослушивать событие щелчка по всем пунктам меню и вызвать действия, которые в зависимости от случая:
Вот пример из основного класса деятельности:
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()) {
case R.id.menu_calendar:
makeToast("Loading...");
openCalendar();
break;
case R.id.menu_search:
makeToast("Loading...");
openSearch();
break;
case R.id.menu_settings:
openSettings();
break;
case R.id.menu_help:
openHelp();
break;
case R.id.menu_about:
mBackupManager.dataChanged();
openAbout();
break;
}
return true;
}
1
Вы должны Override
меню , так что, когда пользователь нажимает кнопку «Меню», ваш код будет работать вместо открытия меню. Подобно этому
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_MENU) {
//Put the code for an action menu from the top here
return true;
}
return super.onKeyDown(keyCode, event);
}
Смежные вопросы
- 1. Button on click listener
- 2. EditText on click listener
- 3. Кнопка Click Listener On ListView в фрагменте
- 4. On Click Listener внезапно завершает приложение
- 5. Javascript .click Listener Firing on DOM Ready
- 6. On Click Listener Inside a Handler
- 7. RecyclerView on Click Listener Не работает
- 8. click listener on android widget Button
- 9. On Click Listener on subview элемента списка из пользовательского адаптера
- 10. Кнопка Click Listener Activity
- 11. Bitmaps Click Listener
- 12. Click event listener
- 13. RibbonDropDownItem click listener
- 14. RecyclerView Item Click Listener
- 15. RecylcerView item click listener
- 16. Page Middle Click Listener
- 17. Text View On Click Listener в адаптер Base
- 18. List View on the click listener всегда возвращает Apple
- 19. Android Spinner Item With Button Set On Click Listener
- 20. JavaFX - Listener on LineTo
- 21. Использование BOTH HREF & click listener
- 22. Jenscript click Listener получение классов
- 23. Backbone view click checkbox listener
- 24. Предпочтение по предпочтению Click Listener
- 25. Мышь Click Listener не срабатывает
- 26. Проблемы с jquery click listener
- 27. Xamarin.forms grib layout click listener
- 28. .on ('click')/off ('click') - on not refiring
- 29. event listener on scoped session
- 30. Анализ на элементе click listener null exception
Но этот метод вызывается при нажатии на элемент внутри меню параметров вправо? Я хочу, чтобы вызываемый метод вызывался при нажатии на меню опций btn. Тот, который находится на каждом устройстве Android. –
Вы говорите о старой физической кнопке? Кнопка меню в правом нижнем углу экрана? –
да действительно. (иногда с левой стороны, например, Samsung Galaxy S2) –