您好我有一个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);
}
});
但是当我点击按钮时,没有任何反应! (Log onclick显示在logcat中) 我怎么能这样做?
答案 0 :(得分:20)
尝试以下代码
imgIndic.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
navView.getMenu().clear();
navView.inflateMenu(R.menu.second_menu);
}
});
答案 1 :(得分:9)
我建议只使用多个组来扩充一个菜单,并更改组的可见性。简单而有效。
<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)