我有这个菜单过滤器.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
;