UPDATEКак настроить видимость для группы меню панели действий?
Первоначально я использовал ActionBarSherlock С тех пор я создал новый проект бренда, используя родной андроида панель действий просто чтобы проверить это, и я все еще получаю такую же проблему.
Я успешно показываю/скрываю элементы, но не группы. Я быстро прихожу к выводу, что есть ошибка в ActionBar и это не представляется возможным, чтобы программно настроить видимость группы
Конец UPDATE
Учитывая следующее меню При обращении к группе I исключения нулевого указателя
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/action_settings"
android:title="@string/settings"
android:orderInCategory="100"
android:showAsAction="never"/>
<group android:id="@+id/mnu_text_group"
android:visible="false">
<item android:id="@+id/mnu_text_type"
android:enabled="true"
android:visible="true"
android:icon="@drawable/ic_action_text_icon"
android:showAsAction="always">
</item>
<item android:id="@+id/text_color"
android:enabled="true"
android:visible="true"
android:showAsAction="always"
android:icon="@drawable/ic_action_color_line">
</item>
</group>
<item android:id="@+id/mnu_images"
...
В onPrepareOptionsMenu соответствующей деятельности у меня есть
public boolean onPrepareOptionsMenu(Menu menu) {
MenuItem mnuTextGroup = menu.findItem(R.id.mnu_text_group);
mnuImage.setEnabled(mEnableImageMenu);
mnuTextGroup.setVisible(false);
...
Вызов mnuTextGroup.setVisible(false);
вызывает исключение нулевого указателя
Однако, изменив метод поиска, чтобы найти элемент внутри группы, работает нормально, например. MenuItem mnuTextGroup = menu.findItem(R.id.mnu_text_type);
, но, очевидно, это работает только для конкретного элемента. Я знаю, что группы предназначены именно для этой цели, чтобы иметь возможность устанавливать видимость и включать/отключать все элементы внутри группы, но я не смог найти способ сделать это программно.
Нет, все равно получите исключение из null указателя. На самом деле не понимаю, почему вы думаете, что использование логической переменной, а не жесткого кодирования false, предотвратит исключение null-указателя для переменной mnuTextGroup? – jamesc
Его работая в моем случае. Я не понимаю, что вы получаете исключение с нулевой точкой. –
Он не работает для, он работает только с - –
jamesc