Я создал список элементов в меню. Все эти элементы будут показаны в панели действий. Затем каждый элемент будет иметь подменю элементов снова.android: удалить элемент из подменю
пыльник мой XML-код:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/sceneMenu" >
<item
android:id="@+id/whiteBalanceList"
android:icon="@drawable/white_balance_list"
android:showAsAction="always"
android:title="@string/selWhiteBalance">
<menu>
<item
android:id="@+id/whiteBalanceAuto"
android:title="Auto" />
<item
android:id="@+id/whiteBalanceCloudy"
android:title="Cloudy Daylight" />
<item
android:id="@+id/whiteBalanceDaylight"
android:title="Daylight" />
<item
android:id="@+id/whiteBalanceFluorescent"
android:title="Fluorescent" />
<item
android:id="@+id/whiteBalanceIncandescent"
android:title="Incandescent" />
<item
android:id="@+id/whiteBalanceShade"
android:title="Shade" />
<item
android:id="@+id/whiteBalanceTwilight"
android:title="Twilight" />
<item
android:id="@+id/whiteBalanceWarm"
android:title="Warm Fluorescent" />
</menu>
</item>
<item
android:id="@+id/flashList"
android:icon="@drawable/flash_list"
android:showAsAction="always"
android:title="@string/selFlash">
<menu>
<item
android:id="@+id/flashAuto"
android:title="Auto"/>
<item
android:id="@+id/flashOn"
android:title="On"/>
<item
android:id="@+id/flashOff"
android:title="Off"/>
</menu>
</item>
</menu>
При попытке удалить пункт подменю (для, например, я хочу, чтобы удалить пункт «Auto» под подменю «список White Balance») со следующим кодом:
menu.getItem(R.id.whiteBalanceList).getSubMenu().removeItem(R.id.whiteBalanceAuto);
Я получаю ошибку индекса outOfBoundException, потому что R.id.whiteBalanceList будет на самом деле привести к случайному уникальному номеру, но menu.size() только 2 ...
нО, если я ар emoveItem вместо т.е.
menu.removeItem(R.id.whiteBalanceList);
Он работает отлично ...
любая идея, почему?
Хмммм, я так не думаю ... Так как ошибка вызывается menu.getItem (R.id.whiteBalanceList), что означает, что я пытался получить элемент из меню первого уровня. Но попробуем, если Ур предложения работает! Попробуем в понедельник! Спасибо за предложение. снова дадут вам знать :) – CodingBird
Я попытался добавить id в подменю и все еще не работает. Но я уже успел работать над своими приложениями. скоро опубликует ответ. Спасибо, что помогли помощнику! – CodingBird