如何在onClick期间dynamic地用另一个菜单充气android navigationView?

您好我有一个NavigationView,并在该NavigationView的标题视图中有一个imageview。 当我点击ImageView时,NavigationView应该膨胀另一个菜单资源文件,并取代PlayStore应用程序中的当前菜单。

我试过这个:

imgIndic.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Log.e("Onclick","Arrow click"); navigationView.inflateMenu(R.menu.second_menu); } }); 

但是,当我点击button,没有任何反应! (Log Onclick在logcat中显示)我怎样才能做到这一点?

Solutions Collecting From Web of "如何在onClick期间dynamic地用另一个菜单充气android navigationView?"

尝试下面的代码

 imgIndic.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { navView.getMenu().clear(); navView.inflateMenu(R.menu.second_menu); } }); 

我build议只给一个菜单加几个组,改变组的可见性。 简单而有效。

 <group android:id="@+id/group_1" android:checkableBehavior="single" android:visible="false"> ... </group> <group android:id="@+id/group_2" android:checkableBehavior="single" android:visible="true"> ... </group> 

在你的java代码调用

 navigationView.getMenu().setGroupVisible(R.id.group_1, true)