Android——可检查菜单项的问题

标签 android menu checkbox items

我已经阅读了 android 开发者页面上的说明以获得可检查的菜单项:

http://developer.android.com/guide/topics/ui/menus.html

这是我的 xmlmenu:

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <group android:checkableBehavior="all">
        <item android:id="@+id/regu"
              android:title="@string/Regulatory" />
        <item android:id="@+id/warn"
              android:title="@string/Warning" />
        <item android:id="@+id/temp"
              android:title="@string/Temporary" />
        <item android:id="@+id/bicy"
              android:title="@string/Bicycle" />
    </group>
</menu>

这是我的代码:

 @Override
    public boolean onOptionsItemSelected(MenuItem item) {
      switch (item.getItemId()) {
      case R.id.regu:
          if (item.isChecked())
          {
              item.setChecked(false);
              currAvailableOptions++;
          }
          else if(0 != currAvailableOptions)
          {
                  item.setChecked(true);
                  currAvailableOptions--;
          }
          return true;
      case R.id.warn:
          if (item.isChecked())
          {
              item.setChecked(false);
              currAvailableOptions++;
          }
          else if(0 != currAvailableOptions)
          {
                  item.setChecked(true);
                  currAvailableOptions--;
          }
        return true;
      case R.id.temp:
          if (item.isChecked())
          {
              item.setChecked(false);
              currAvailableOptions++;
          }
          else if(0 != currAvailableOptions)
          {
                  item.setChecked(true);
                  currAvailableOptions--;
          }
          return true;
      default:
        return super.onOptionsItemSelected(item);
      }
    }

public boolean onCreateOptionsMenu(Menu menu) {
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.app_menu, menu);
        return true;
    }

问题是当我单击一个项目时,菜单项消失了。它不必为了检查其他菜单项而保持可见?

有什么想法吗?

问候

最佳答案

Checkable items appear only in submenus or context menus.

他们 (Google) 的子菜单意味着:

Submenu A floating list of menu items that appears when the user touches a menu item that contains a nested menu.

因为你的菜单项不是子菜单项,所以它不会工作

关于Android——可检查菜单项的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5844101/

相关文章:

html - 为什么我的 UL 背景色没有覆盖 LI 元素?

java - 弹出菜单出现在左下角

c++ - fstream <无法读取内存>。无法打印列表中的所有项目

android - 自定义 android DialogFragment

android - 如何知道当前用户是否已经 +1 特定链接?

php - codeigniter 表单验证和数组作为字段名称

mysql - 使用 Windows 窗体 vb.net 在数据 GridView 中的复选框列的标题中添加一个复选框

ios - 在 swift 中使用 userdefaults 保存复选框按钮状态

android - Android SQLiteDatabase 中的光标大小限制

android - Web 应用程序安装横幅未显示