如何在 onClick 期间动态地使用另一个菜单膨胀 android NavigationView?

How to inflate android NavigationView with another menu dynamically during onClick?

您好,我有一个 NavigationView,该 NavigationView 的标头视图中有一个图像视图。当我点击 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);
    }
}); 

但是当我点击按钮时,没有任何反应! (Log Onclick 显示在logcat) 我该怎么做?

我建议将一个菜单扩展为多个组并更改组的可见性。简单有效。

<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)

试试下面的代码

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