我有下面的芯片组,当我点击已经检查过的芯片时,它未被选中,但是我必须始终拥有一个已检查的芯片。行为类似于 radio 组。

<com.google.android.material.chip.ChipGroup
        android:id="@+id/chip_group_filter"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:checkedChip="@id/chip_1"
        app:singleSelection="true">

        <com.google.android.material.chip.Chip
            android:id="@+id/chip_1"
            style="@style/Widget.MaterialComponents.Chip.Choice"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/chip1"
            app:chipBackgroundColor="@color/chip_color" />

        <com.google.android.material.chip.Chip
            android:id="@+id/chip_2"
            style="@style/Widget.MaterialComponents.Chip.Choice"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/chip2"
            app:chipBackgroundColor="@color/chip_color" />

    </com.google.android.material.chip.ChipGroup>

最佳答案

您可以要求具有 app:selectionRequired 属性的选定芯片。
就像是:

 <com.google.android.material.chip.ChipGroup
    android:id="@+id/chip_group_filter"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:checkedChip="@id/chip_1"
    app:selectionRequired="true"
    app:singleSelection="true">

仅需注意:不需要app:checkedChip或初始选择。如果未设置,则在任何情况下都无需选择即可工作。

注意:这要求最低版本为 1.2.0-alpha02

关于android - 避免芯片组受到检查,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58245202/

10-12 02:43