Я работаю над проектом, в котором мне нужно программно добавить пункт меню в группу.По какой-то причине, однако, вместо того, чтобы пункт меню добавлялся в группу, он добавлялся в корень меню.
Ниже приведен мой XML
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item android:id="@+id/mnuSwitchStorageLocation"
android:title="@string/switch_storage_location">
<menu android:id="@+id/mnuStorage">
<group android:id="@+id/mnuStorageLocationGroup" android:checkableBehavior="single" android:orderInCategory="999">
<item android:title="Test" />
</group>
</menu>
</item>
<item android:id="@+id/mnuDone"
android:icon="@drawable/ic_done"
android:title="@string/done"
app:showAsAction="always"/>
</menu>
Я получил тестовое меню только для того, чтобы доказать, что меню появляется в нужном месте.Ниже приведен мой Java-код, в котором я пытаюсь добавить меню.
@ Override
public boolean onPrepareOptionsMenu (Меню меню) {if ((this.storageLocations! = Null) && this.storageLocations.size ()> 0) {
//if (mnuStorage != null)
//{
for (int i = 0; i < this.storageLocations.size(); i++)
{
menu.add(R.id.mnuStorageLocationGroup, Menu.NONE, Menu.NONE, storageLocations.get(i).getStorageName());
}
//}
}
return super.onPrepareOptionsMenu(menu);
}
Я поместил категорию заказа в 999, основываясь на другом посте, где у кого-то была похожая проблема, но это не имело никакого значенияпо моему сценарию.