2016-01-10 3 views
2

Я хочу добавить элемент в навигационный ящик программно. Я использую этот XML для панели навигации:Добавить элемент в ящик для навигации

<menu xmlns:android="http://schemas.android.com/apk/res/android"> 

<group 
    android:id="@+id/nav_group" 
    android:checkableBehavior="single"> 
    <item 
     android:id="@+id/nav_item1" 
     android:title="@string/nav_text_item1" /> 
    <item 
     android:id="@+id/nav_item2" 
     android:title="@string/nav_text_item2" /> 
</group> 

<group 
    android:id="@+id/nav_group2" 
    android:checkableBehavior="single"> 
    <item android:id="@+id/nav_menu" android:title="History"> 
     <menu> 
      <!-- Add Items here--> 
     </menu> 
    </item> 
</group> 
<group 
    android:id="@+id/nav_group3" 
    android:checkableBehavior="single"> 

     <item 
      android:id="@+id/nav_item3" 
      android:title="@string/nav_text_item3" /> 
     <item 
      android:id="@+id/nav_item4" 
      android:title="@string/nav_text_item4" /> 

</group> 

Я хочу, чтобы показать категорию «История» без каких-либо предметов в начале, а затем добавить элементы в категорию позже. Но как мне это сделать? Я могу добавлять элементы и подменю в конец списка, но не посередине. Спасибо за любую помощь.

+0

Я все еще использую RecyclerView для навигации полки. Тогда настройка очень проста. – Keshav

ответ

2

Использование Menu.addSubMenu создать группу меню и Menu.add добавить пункт меню.

android developer manual link

NavigationView navView = (NavigationView) findViewById(R.id.your_nav_view_id); 
Menu m = navView.getMenu(); 
SubMenu menuGroup = m.addSubMenu("My menu group"); 
menuGroup .add("Foo"); 
menuGroup .add("Bar"); 

Или, если вы не хотите использовать группу меню просто добавить в меню непосредственно

NavigationView navView = (NavigationView) findViewById(R.id.your_nav_view_id); 
Menu m = navView.getMenu(); 
MenuItem foo_menu_item=m.add("foo"); 
+0

findViewById (R.id.xx) возвращает null для меня, что-то изменилось в том, как работают макеты меню? – NaturalBornCamper

Смежные вопросы