我想创建一个可切换的菜单,当我点击它显示其子菜单的菜单项时,当我再次点击它们时,它们应该被隐藏。
这就是我所得到的,但它们只会被展示,我无法再隐藏它们。
<group>
<group>
<item android:title="Menu 1" android:id="@+id/toggle" android:checkable="true" android:checked="false" />
</group>
<group android:id="@+id/group1" android:visible="false">
<item
android:id="@+id/sub_menu1"
android:title="sub_menu1"
>
</item>
<item
android:id="@+id/sub_menu2"
android:title="sub_menu2"
>
</item>
<item
android:id="@+id/sub_menu3"
android:title="sub_menu3"
>
</item>
</group>
</group>
这是java代码
public boolean onNavigationItemSelected(MenuItem menuItem) {
switch (menuItem.getItemId()) {
case (R.id.toggle):
if(menuItem.isChecked()){
mNavigationView.getMenu().setGroupVisible(R.id.group1, true);
break;}
else{
mNavigationView.getMenu().setGroupVisible(R.id.group1, false);
break;}
}
}
编辑:我尝试了韦德的建议但是没有运气
case (R.id.toggle):
toogle= mNavigationView.getMenu().findItem(R.id.toggle);
item1= mNavigationView.getMenu().findItem(R.id.item1);
item2 = mNavigationView.getMenu().findItem(R.id.item2);
if (toogle.isChecked()) {
item1.setVisible(true);
item2.setVisible(true);
break;
}
else {
item1.setVisible(false);
item2.setVisible(false);
break;
}
如果有人得到任何其他方法或建议,请说出来