2015-10-15 97 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);

要改变整个菜单或只是想改变这个菜单的菜单项