我的 xml 代码是:
<group android:checkableBehavior="single">
<item android:id="@+id/group_1_box_1"/>
<item android:id="@+id/group_1_box_2"/>
</group>
<group android:checkableBehavior="single">
<item android:id="@+id/group_2_box_1"/>
<item android:id="@+id/group_2_box_2"/>
</group>
我遇到的问题是,当我将 group_1_box_1 的状态更改为 true 时,它不仅将 group_1_box_2 设置为 false,还将 group_2 框设置为 false。
编辑:这是我的代码
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.group_1_box_1:
item.setChecked(true);
return true;
case R.id.group_1_box_2:
item.setChecked(true);
return true;
case R.id.group_2_box_1:
item.setChecked(true);
return true;
case R.id.group_2_box_2:
item.setChecked(true);
return true;
default:
return super.onOptionsItemSelected(item);
}
最佳答案
您只需为 xml 文件中的每个 group
项目添加唯一 ID。
<group
android:id="@+id/menuGroup_1" <!-- Here -->
android:checkableBehavior="single">
<item android:id="@+id/group_1_box_1"/>
<item android:id="@+id/group_1_box_2"/>
</group>
<group
android:id="@+id/menuGroup_2" <!-- And here -->
android:checkableBehavior="single">
<item android:id="@+id/group_2_box_1"/>
<item android:id="@+id/group_2_box_2"/>
</group>
关于安卓菜单 : Two single-checkable groups in the same menu,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6698954/