单击时,我的布局中有一个清除按钮,我想取消选中线性布局listview
中的所有复选框。
XML格式
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:id ="@+id/mainLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<Button
android:id="@+id/btnClear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right|center"
android:gravity="right|center"
android:text="Remove" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<ListView
android:id="@+id/listview"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="5"
android:cacheColorHint="@android:color/transparent"
android:divider="#fff"
android:dividerHeight="1dp"
android:fadingEdge="none">
</ListView>
</LinearLayout>
</LinearLayout>
</LinearLayout>
在
listview
内部,我正在扩大一个具有复选框的布局。现在btnClear
我要取消选中所有复选框。我们如何做到这一点,请帮助我 最佳答案
创建一个遍历ListView
所有子项的for循环,并检查View
是否为CheckBox类型,并在同一循环上执行setChecked(false)
。
for (int i = 0; i < mListView.getCount(); i++) {
View mChild = mListView.getChildAt(i);
//Replace R.id.checkbox with the id of CheckBox in your layout
CheckBox mCheckBox = (CheckBox) mChild.findViewById(R.id.checkbox);
mCheckBox.setChecked(false);
}