2015-10-15 92 views
5

在我的應用程序中,我想根據某些條件通過某些菜單。Android導航以編程方式查看設置菜單

這是佈局:

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

所有我想要做的是改變dinamically取決於一些條件@菜單/ activity_main_drawer_1。

如何以編程方式執行此操作?

在此先感謝。

+0

..? –

+0

我想更改整個菜單 – user3065901

回答

9

在您的NavigationView上使用inflateMenu

查看here瞭解更多信息。

-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

此答案無效。你不能實例化一個菜單(使用構造函數)。您無法在NavigationView上設置菜單。 – Mdlc

8

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

要改變整個菜單或只是想改變這個菜單的菜單項