Всем доброго времени суток! Подскажите, пожалуйста, в чем может быть проблема и как ее решить.
RecyclerView в адаптере в реализации вьюХолдера я вешаю на holder.itemView онКлик. Задача клика - при нажатии на элемент RV сделать видимым лэйаут с детализацией. И все замечательно, все работает, но если прокрутить список то будут еще открытые элементы, а когда вернешься обратно то можешь обнаружить что открыт не тот элемент, который ты выбирал.
Спасибо!
RecyclerView переиспользует вью и вьюхолдеры. Поэтому в каждом onBindViewHolder ты должен рассчитывать на то, что придет холдер, который до этого уже использовался, и, соотвественно, вьюха тоже использовалась.
Решение такое - при нажатии нужно менять набор данных(запоминать, что элемент открыт) и вызывать notifyItemUpdated. Раскрывать только в onBindViewHolder.