2015-10-15 12 views
5

Nella mia app voglio passare determinati menu a seconda di alcune condizioni.Navigazione Android Visualizza programmaticamente il menu di impostazione

Questo è il layout:

<android.support.design.widget.NavigationView 
     android:id="@+id/nav_view_free" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     android:fitsSystemWindows="true" 
     android:background="@color/Color_White" 
     app:headerLayout="@layout/nav_header_main" 
     app:menu="@menu/activity_main_drawer_1" 
     /> 

Tutto quello che voglio fare è di cambiare dinamicamente il menu @/activity_main_drawer_1 a seconda di alcune condizioni.

Come posso fare questo programmaticamente?

Grazie in anticipo.

+0

si desidera cambiare l'intero menu o semplicemente si vuole cambiare menuItem di questo menu ..? –

+0

Voglio cambiare l'intero menu – user3065901

risposta

9

Utilizzare inflateMenu su NavigationView.

Vedere here per ulteriori informazioni.

-2
 

Create Generic class Implements Menu iterface then add menu item 
NavigationView nd=(NavigationView)findViewById(R.id.nav_view_free); 

Menu mn=new Menu(); 

mn.add("email"); 

mn.add("email"); 

mn.add("email"); 

mn.add("email"); 

nd(mn); 


+0

Questa risposta non funzionerà. Non è possibile creare un'istanza di un menu (utilizzando il costruttore). Non è possibile impostare un menu su NavigationView. – Mdlc

8

navigationView.getMenu().clear(); navigationView.inflateMenu(R.menu.your_menu);

Problemi correlati