Идентификация представления выбрала в ContextMenu (Android)

В Android, onContextItemSelected имеет сингл MenuItem аргумент и таким образом, не ясно, как определить выбранное представление. MenuItem.getMenuInfo обеспечивает доступ к Contextmenu. ContextMenuInfo, но в то время как оба известных подкласса обеспечивают доступ к целевому представлению, там, кажется, не средство доступа в интерфейсе.

Одна альтернатива должна сохранить View если в onCreateContextMenu в частной переменной класса, которая полагается onCreateContextMenu не будучи названным снова в действии прежде onContextItemSelected. Другой должен использовать идентификатор View для itemId аргумент ContextMenu.add. Если бы мы делаем это, мы должны были бы затем определить опцию, выбранную из контекстного меню при помощи (возможно интернационализировавший) заголовок.

Каков лучший метод для идентификации View выбранный в onContextSelected?

11
задан Casebash 28 May 2010 в 02:18
поделиться

1 ответ

В Android не существует такой концепции, как «определение выбранного вида» ни для меню параметров, ни для контекстных меню. Следовательно, ответить на ваш вопрос довольно сложно. Итак, я возьму несколько догадок.

Если под «идентификацией выбранного просмотра» вы имеете в виду, какой пункт меню был выбран, то есть getItemId () в MenuItem , который передается в onOptionsItemSelected () или onContextItemSelected () .

Если под «идентификацией выбранного представления» вы имеете в виду, какая строка в ListView была вызвана длительным нажатием, чтобы вызвать контекстное меню, приведите getMenuInfo () (вызывается от MenuItem ) до AdapterView.AdapterContextMenuInfo , затем используйте значения id или position в зависимости от вашего адаптера. См. Здесь образец проекта , в котором используется этот метод.

Если под «идентификацией выбранного представления» вы имеете в виду, что у вас есть более одного контекстного меню, отличного от ListView , в действии, я бы не стал использовать эту технику пользовательского интерфейса.

9
ответ дан 3 December 2019 в 04:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: