提问者:小点点

ExpandableListView Android如何控制子复选框的状态并改变父复选框的true


我试着从gogle和youube那里找到任何教程,但是我仍然没有找到我需要的。 我创建了如下布局:

在此处输入图像说明

当我检查孩子的R或H是真的,在父母改变为交叉和红色背景像这样

在此处输入图像说明

有什么想法或参考让我阅读的流程代码吗? 谢谢你


共1个答案

匿名用户

您必须在中使用选择器来实现您正在尝试的目标。 创建一个xml可绘制文件,包含以下内容-

checkbox_selector.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:drawable="@drawable/selected_checkbox_background" android:state_checked="true"/>
    <item android:drawable="@drawable/unselected_checkbox_background" android:state_checked="false"/>

</selector>

然后将此选择器用作复选框的背景,如下所示-

<CheckBox
    android:background="@drawable/checkbox_selector"
    android:button="@null"
    android:checked="false"/>

然后根据复选框的状态,该复选框的state_checked=“truestate_checked=”false背景将发生变化。

例如,您可以创建selected_checkbox_backgrounder.xml,如下所示-

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#E44747"/>
    <corners radius="5dp"/>
</shape>

快乐的编码!