android - список элементов открытого контекстного меню - PullRequest
0 голосов
/ 24 декабря 2009

Я новичок в Android. У меня есть список элементов, и я пытаюсь связать отдельные контекстные меню с каждым элементом списка. Установите setListAdapter и onListItemClick, но когда я нажимаю на любой элемент списка, я всегда получаю одно и то же контекстное меню. В идеале элемент списка A должен вызывать меню A при щелчке, а элемент списка B должен вызывать меню B. Не могу понять, как это сделать. Может ли кто-нибудь помочь мне найти пример кода, который я мог бы использовать, чтобы узнать, как это сделать?

Большое спасибо и счастливого Рождества,

Стефано

Ответы [ 2 ]

4 голосов
/ 24 декабря 2009

У меня нет примера кода, показывающего технику - мой лучший пример - это то, что я сделал для клиента-консультанта.

Однако позвольте мне указать вам этот пример проекта , который использует контекстные меню и использует его в качестве основы для этого объяснения.

Вам необходимо вернуть настроенное меню в onCreateContextMenu(). Если вы всегда возвращаете одно и то же меню, вы всегда увидите одно и то же меню. Чтобы определить, какое меню отображать, вам нужно знать, какой элемент списка был нажат. В случае контекстного меню для ListView, вы можете привести ContextMenu.ContextMenuInfo, предоставленный к onCreateContextMenu(), к AdapterView.AdapterContextMenuInfo. Этот объект может сообщить вам позицию и _ID элемента в списке, по которому было проведено длинное касание, поэтому вы можете выбрать правильное меню.

В приведенном выше примере кода я выполняю приведение к onContextItemSelected(), поэтому я могу знать, какой элемент удаляет пользователь. Тем не менее, тот же актерский состав работает в onCreateContextMenu().

1 голос
/ 24 декабря 2009

Команда Android недавно выпустила ряд новых образцов. Я считаю, что у вас есть отличный пример здесь .

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