禁用Android的菜单组 [英] Disable Android menu group

查看:214
本文介绍了禁用Android的菜单组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试禁用菜单组具有以下code,但它不工作,菜单项仍处于启用状态。你能告诉我有什么不对吗?

RES /菜单/ menu.xml文件:

 <菜单的xmlns:机器人=htt​​p://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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆