状态可检查的多组项目彼此取消选中

时间:2018-11-13 11:43:23

标签: android user-interface checkbox

我有三组可检查的菜单项。
每个组都配置有单个可检查的行为,但是选中组A中的项目将取消选中组B和C中的项目。

我该如何解决?

1 个答案:

答案 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);
    }