Найти в Дзене

Функции для контекстного меню

Чтобы узнать, когда был выбран пункт контекстного меню, реализуйте функцию onContextItemSelected() для активности. Обратите внимание, что в этом обратном вызове вы получаете только экземпляр MenuItem, который был выбран. В результате, если у вашей активности есть два или более контекстных меню, вы можете убедиться, что у них есть уникальные идентификаторы элементов меню для всех вариантов выбора, чтобы вы могли различать их в этом обратном вызове. Кроме того, вы можете вызвать getMenuInfo() для MenuItem, чтобы получить ContextMenu.ContextMenuInfo, полученный в onCreateContextMenu(). В остальном этот обратный вызов ведет себя так же, как и onOptionsItemSelected(), описанный в предыдущем разделе.
Взгляд
В примере проекта Menus/Меню на http://apress.com/ вы найдете измененную версию примера ListView (Список) с соответствующим меню. Поскольку меню определены в Java-коде, XML-макет не требует изменений и не перепечатывается здесь.
Однако в Java-коде есть несколько новых поведений, как

Чтобы узнать, когда был выбран пункт контекстного меню, реализуйте функцию onContextItemSelected() для активности. Обратите внимание, что в этом обратном вызове вы получаете только экземпляр MenuItem, который был выбран. В результате, если у вашей активности есть два или более контекстных меню, вы можете убедиться, что у них есть уникальные идентификаторы элементов меню для всех вариантов выбора, чтобы вы могли различать их в этом обратном вызове.

Кроме того, вы можете вызвать getMenuInfo() для MenuItem, чтобы получить ContextMenu.ContextMenuInfo, полученный в onCreateContextMenu(). В остальном этот обратный вызов ведет себя так же, как и onOptionsItemSelected(), описанный в предыдущем разделе.



Взгляд

В примере проекта Menus/Меню на http://apress.com/ вы найдете измененную версию примера ListView (Список) с соответствующим меню. Поскольку меню определены в Java-коде, XML-макет не требует изменений и не перепечатывается здесь.

Однако в Java-коде есть несколько новых поведений, как показано здесь

В onCreate() мы регистрируем наш виджет списка как имеющий контекстное меню, которое мы заполняем через наш частный метод populateMenu() посредством onCreateContextMenu(). Мы также реализуем обратный вызов onCreateOptionsMenu(), указывающий на то, что наша активность также имеет меню опций. И снова мы делегируем populateMenu() для заполнения меню.