Android 以编程方式将菜单项添加到菜单组

Android 以编程方式将菜单项添加到菜单组,android,menu,menuitem,Android,Menu,Menuitem,我正在做一个项目,我需要通过编程向一个组中添加一个菜单项。然而,由于某种原因,菜单项不是被添加到组中,而是被添加到菜单的根目录中 下面是我的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">

我正在做一个项目,我需要通过编程向一个组中添加一个菜单项。然而,由于某种原因,菜单项不是被添加到组中,而是被添加到菜单的根目录中

下面是我的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代码

@凌驾

公共布尔值OnPrepareOptions菜单(菜单) { if((this.storageLocations!=null)&&this.storageLocations.size()>0) {

//如果(mnuStorage!=null)
//{
对于(int i=0;i
}

我根据另一篇帖子将订单分类为999,其中有人遇到了类似的问题,但这对我的情况没有任何影响

    //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);