Android:在导航工具中动态添加项目到菜单

时间:2015-12-04 11:46:34

标签: android xml dynamic menu menuitem

我尝试动态添加项目/菜单树。我的XML文件如下所示:

<item
    android:id="@+id/r2_container"
    android:title="@string/myR2s">
    <menu>
        <!--
            Here I want some new Items...
        -->

        <item
            android:id="@+id/nav_addR2"
            android:icon="@android:drawable/ic_input_add"
            android:title="@string/addR2ItemTitle" />
    </menu>
</item>
<item android:title="Settings">
    <menu>
        <item
            android:id="@+id/setting"
            android:icon="@android:drawable/ic_menu_manage"
            android:title="Settings" />
        <item
            android:id="@+id/programm"
            android:icon="@android:drawable/ic_media_play"
            android:title="Programm" />
    </menu>
</item>

此菜单位于导航器中。我已经尝试过这个代码:

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is
        present.
    super.onCreateOptionsMenu(menu);
    getMenuInflater().inflate(R.menu.menu_start, menu);

    menu.add(0, 0, 0, "Option1").setShortcut('3', 'c');
    menu.add(0, 1, 0, "Option2").setShortcut('3', 'c');
    menu.add(0, 2, 0, "Option3").setShortcut('4', 's');

    SubMenu sMenu = menu.addSubMenu(0, 3, 0, "SubMenu"); //If you want 
        to add submenu
    sMenu.add(0, 4, 0, "SubOption1").setShortcut('5', 'z');
    sMenu.add(0, 5, 0, "SubOption2").setShortcut('5', 'z');

    return true;
}

不幸的是这段代码不起作用。没有任何事情发生。

您是否有任何想法正确创建动态项目?

我期待你的回答

2 个答案:

答案 0 :(得分:0)

尝试实施此链接中提供的导航抽屉 Material Design Navigation Drawer

或尝试使用Android Studio中提供的默认导航抽屉模板

答案 1 :(得分:0)

您必须选择项目和子菜单。然后你可以添加一个新项目。

MenuItem item = navigationMenu.findItem(R.id.r2_container);
SubMenu subMenu = item.getSubMenu();

subMenu.add(R.id.r2_container, Menu.NONE, Menu.NONE, "Option1");