Проблема следующего характера, создал список checkBox-ов при помощи recyclerView, наполняю его следующим образом:
public void onBindViewHolder(@NonNull ManufactureListAdapter.MyViewHolder myViewHolder, int i) {
final String item = listManufactured.get(i);
myViewHolder.cbItem.setText(item);
myViewHolder.cbItem.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
if(isChecked){
checkedManufactureList.add(item);
} else {
checkedManufactureList.remove(item);
}
}
});
onCheckedListListener.checkedListListener(checkedManufactureList);
}
Мне нужно выполнять сброс всех checkBox по кнопке или иному событию из вызывающего класса, как это можно реализовать?
Используйте для item
свой класс Item
, который будет иметь переменную checked
, name
и другие переменные, необходимые для работы приложения.
Типа так:
public class Item {
private boolean checked;
private String name;
public boolean isChecked() {
return checked;
}
public void setChecked(boolean checked) {
this.checked = checked;
}
public void setName(String name) {
this.name= name;
}
public String getName() {
return name;
}
}
При нажатии на кнопку делаете вот так:
for (int i = 0; i < items.size(); i++)
items.get(i).setChecked(false);
adapter.notifyDataSetChanged();
При этом в onBindViewHolder
у вас в обязательном порядке должно быть:
myViewHolder.cbItem.setChecked(item.getChecked());
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Недавно начал практиковаться в медиа-запросахНужно ли добавлять медиа-запрос, если ширина экрана <= 260px? Существуют ли вообще устройства...