安卓菜单项设置已选中不起作用



我有这个菜单过滤器.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
           <group android:checkableBehavior="single" android:id="@+id/menuGroup_1"  >
                <item android:id="@+id/a_1"  android:title="a1" />
                <item  android:id="@+id/a_2" android:title="a2" />
            </group>
            <group android:checkableBehavior="single" android:id="@+id/menuGroup_2"    >
                <item  android:id="@+id/b_1" android:title="b1" />
                <item android:id="@+id/b_2" android:title="b2"  />
            </group>
</menu>

以下是.java中的方法:

  @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.filters, menu);
        return true;
    }
    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
         super.onOptionsItemSelected(item);
         item.setChecked(!item.isChecked());
         return true;
    }   

这工作正常 可检查行为="单身",但当我按下时该项目不会取消选中。仍然检查。(item.isChecked()->true)


我尝试编辑.xml:

<item android:id="@+id/..."   android:checkable = "true"  />

现在,当选择他们选中/取消选中的任何项目时, 但是这个可检查行为="单一"不起作用。换句话说,我可以检查同一组的两个项目。

你应该让onOptionsItemSelected返回true;

相关内容

最新更新