Программное добавление пункта меню в группу меню - PullRequest
0 голосов
/ 19 февраля 2019

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

Ниже приведен мой 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, основываясь на другом посте, где у кого-то была похожая проблема, но это не имело никакого значенияпо моему сценарию.

...