禁用Android的菜单组 [英] Disable Android menu group
本文介绍了禁用Android的菜单组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我尝试禁用菜单组具有以下code,但它不工作,菜单项仍处于启用状态。你能告诉我有什么不对吗?
RES /菜单/ menu.xml文件:
<菜单的xmlns:机器人=http://schemas.android.com/apk/res/android>
<项目机器人:ID =@ + ID /一个机器人:标题=A>< /项目>
<项目机器人:ID =@ + ID / B机器人:标题=B>
<菜单>
<项目机器人:ID =@ + ID / C机器人:标题=C/>
<项目机器人:ID =@ + ID / D机器人:标题=D/>
<组机器人:ID =@ + ID / GROUP_1>
<项目机器人:ID =@ + ID / E机器人:标题=E/>
<项目机器人:ID =@ + ID / F机器人:标题=F/>
< /组>
&所述; /菜单>
< /项目>
&所述; /菜单>
Java的:
prepareOptionsMenu(菜单菜单)上公共布尔{
menu.setGroupEnabled(R.id.group_1,FALSE); //不起作用
menu.setGroupVisible(R.id.group_1,FALSE); //也不管用
返回super.on prepareOptionsMenu(菜单);
}公共布尔onCreateOptionsMenu(菜单菜单){
getMenuInflater().inflate(R.menu.menu,菜单);
返回true;
}
解决方案
由于user432209的信息,这里是答案:
menu.findItem(R.id.b).getSubMenu().setGroupVisible(R.id.group_1,FALSE);
I try to disable a menu group with the following code, but it doesn't work, menu items are still enabled. Can you tell me what's wrong please?
res/menu/menu.xml:
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/a" android:title="A"></item>
<item android:id="@+id/b" android:title="B">
<menu>
<item android:id="@+id/c" android:title="C" />
<item android:id="@+id/d" android:title="D" />
<group android:id="@+id/group_1">
<item android:id="@+id/e" android:title="E" />
<item android:id="@+id/f" android:title="F" />
</group>
</menu>
</item>
</menu>
Java:
public boolean onPrepareOptionsMenu (Menu menu) {
menu.setGroupEnabled (R.id.group_1, false); // does not work
menu.setGroupVisible (R.id.group_1, false); // does not work either
return super.onPrepareOptionsMenu (menu);
}
public boolean onCreateOptionsMenu (Menu menu) {
getMenuInflater ().inflate (R.menu.menu, menu);
return true;
}
解决方案
Thanks to user432209's info, here is the answer:
menu.findItem (R.id.b).getSubMenu ().setGroupVisible (R.id.group_1, false);
这篇关于禁用Android的菜单组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文