Android: как создать ContextMenu для пользовательского представления - PullRequest
3 голосов
/ 25 октября 2010

Я хотел бы показать ContextMenu для пользовательского представления, которое не является частью AdapterView.

Я позвонил

myActivity.registerForContextMenu(myView);

, и ContextMenu уже появляется.

Но я не знаю, как получить доступ к данным myView в

@Override
onContextItemSelected(MenuItem item) //...

Я думал, что смогу создать пользовательское меню в * 1011

@Override
onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) //...

Это из документов: "menuInfo - дополнительная информация об элементе, для которого должно отображаться контекстное меню. Эта информация будет варьироваться в зависимости от класса v."

Может кто-нибудь дать мне подсказку?

1 Ответ

5 голосов
/ 25 октября 2010

Ваш пользовательский класс представления должен переопределить getContextMenuInfo() и вернуть пользовательский объект, реализующий ContextMenuInfo (не очень сложно, учитывая, что интерфейс не имеет членов!) И который содержит дополнительные данные для каждого просмотра, которые нужно получить обработчику нажатий в меню.

Затем вы можете получить этот объект из onContextItemSelected(MenuItem item), вызвав item.getMenuInfo() и приведя возвращенное значение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...