我有三组可检查的菜单项。
每个组都配置有单个可检查的行为,但是选中组A中的项目将取消选中组B和C中的项目。
我该如何解决?
答案 0 :(得分:0)
您只需要向xml文件中的每个组项目添加唯一的ID。
<group
android:id="@+id/menuGroup_1"
android:checkableBehavior="single">
<item android:id="@+id/group_1_item_1"/>
<item android:id="@+id/group_1_item_2"/>
</group>
<group
android:id="@+id/menuGroup_2"
android:checkableBehavior="single">
<item android:id="@+id/group_2_item_1"/>
<item android:id="@+id/group_2_item_2"/>
</group>
然后在这里实现您的逻辑:
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.group_1_item_1:
item.setChecked(true);
return true;
case R.id.group_1_item_2:
item.setChecked(true);
return true;
case R.id.group_2_item_1:
item.setChecked(true);
return true;
case R.id.group_2_item_2:
item.setChecked(true);
return true;
default:
return super.onOptionsItemSelected(item);
}