2012-05-30 2 views
0

По некоторым причинам некоторые пункты меню отключены и будут включены после того, как данные будут получены.
В этом случае я могу похвастаться:
Когда в меню находится , текущий показ пользователю, и данные будут получены, как я могу активировать пункт меню мгновенно?Пункт меню опций обновления, который в настоящее время отображается

Теперь я включаю/выключаю только элемент меню в onPrepareOptionsMenu(), он вызывается только тогда, когда меню отображается снова. FYI, я использую андроид 2.x SDK

Спасибо

ответ

1

Когда opPrepareOptionsMenu называется, он получает ссылку на меню, так что вы можете сохранить эту ссылку в переменной, а когда данные готовы добавьте или включите опцию снова.

+0

Я попробовал этот метод, но он всегда возвращает исключение NullPointerException при доступе к ссылке меню ... Является ли это тем, ссылка будет указывать на нуль, если она не отображается? – Bear

+0

Да, возможно, что это будет null, если нет на экране – h0m3r16

0

Я уже сделал это, и он отлично работает. Взгляните на этот код ...

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

Заявить об этом в своем классе.

private static final int HOLD_CALL  = 0; 
private static final int RESUME_CALL = 1; 

Написать этот код в ваш (меню Menu) общественного булевой onCreateOptionsMenu

menu.add(0, HOLD_CALL, 0, "Hold Call"); 
menu.add(1, RESUME_CALL, 1, "Resume Call"); 

Используйте это в общедоступном булево onMenuOpened (INT FeatureId, меню Menu)

menu.setGroupEnabled(1, false);` 

приведенный выше код отключит ваш пункт меню. Надеюсь, это поможет вам. Если вы все еще сталкиваетесь с проблемой, сообщите мне, я постараюсь вам помочь.

+0

Извините, я прошу отредактировать пункт меню, когда меню отображается пользователю Поэтому они должны указывать, как сохранить ссылку меню, а не как для его редактирования ... – Bear

+0

Когда вы захотите, когда пользователь нажимает кнопку меню или когда меню уже отображается на экране в это время. –

Смежные вопросы