2015-12-04 1 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");