【发布时间】:2016-06-11 21:31:06
【问题描述】:
我有这个菜单 filters.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;
}
这很好用 checkableBehavior="single",但是当我按下时该项目不会取消选中。还是查了。 (item.isChecked()->true)
我尝试编辑 .xml:
<item android:id="@+id/..." android:checkable = "true" />
Now when a select any item they check/uncheck correcltry, 但是这个 checkableBehavior="single" 不起作用。换句话说,我可以检查同一组的两个项目。
【问题讨论】: