我的布局中点击了清除按钮,我想取消选中线性布局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
我想取消选中所有复选框。我们如何做到这一点请帮助我
答案 0 :(得分:4)
创建一个for循环,遍历ListView
的所有子项,并检查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);
}