RecyclerView. В адаптере есть список моделек, которые необходимо отрисовать в RecyclerView. Каждый айтем у recycler’a имеет чекбокс. Состояние этого чекбокса отражает, являтся ли соответствующая моделька в списке isChecked. По клику на айтем, состояние чекбокса изменяется (isChecked = true либо false). Очевидно, что такой параметр у модельки, как isChecked можно сделать изменяемым. Но насколько я понял, иметь мутабельные поля в классе - не очень хорошая практика. Суть вопроса в том, как грамотно синхронизировать состояние каждого айтема в списке recycler’a со списком объектов, которые хранит адаптер?
Никогда не смешивайте данные с состоянием. Лучше хранить рядом список выбранных айтемов/id, а во вьюхолдере можно проверить checked.contains(item.id)
Обсуждают сегодня