Снимите все флажки в Android
У меня есть кнопка очистки в моем макете при нажатии, что я хочу снять все флажки, которые находятся внутри линейного макета 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
Я хочу снять все флажки. Как мы можем сделать это, пожалуйста, помогите мне в этом
1 ответ
Решение
Создайте цикл 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);
}