2015-12-04 95 views
0

我尝试将项目动态添加到项目/菜单树。我的XML文件是这样的:Android:在导航画笔中动态添加项目到菜单

<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> 

此菜单位于navigationdrawer。我已经试过这个代码:

@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; 
} 

不幸的是,这段代码没有工作。什么都没发生。

你有没有想法正确地创建动态项目?

我很期待你的回答

回答

0

尝试实现您的导航抽屉一样在这个环节 Material Design Navigation Drawer

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

+0

我已经有菜单的导航抽屉,但我不能动态添加新项目(在Java中)。 –

+0

这就是为什么我说要按照链接中给出的方式实现它。它将允许您动态添加项目 –

0

你必须采取的项目和子菜单。然后你可以添加一个新的项目。

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

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