У меня есть видоискатель с двумя типами просмотра, один - заголовок, а другой - мои продукты, теперь, когда я выбираю, скажем, 5 раз один продукт, я складываю это количество в представлении элемента, но когда прокручиваю вниз и вверх , представление восстанавливается без сохранения состояния представления, я знаю, что это из-за того, что recyclerview перезапускает представление, а затем просто воссоздает его при прокрутке при нажатии onBindViewHolder (), но мне нужно сохранить это состояние представлений, а не изменять.
У меня нет переключателя в моем селекторе, чтобы я мог проверить, выбрано ли оно или нет, вместо этого мне нужно просто сохранить вид как есть и не изменять его при прокрутке
Я пытался реализовать getItemId
и setHasStableIds(true)
, но в моем адаптере не работает
override fun getItemId(position: Int): Long {
return super.getItemId(position)
}
override fun getItemViewType(position: Int): Int {
return when {
uiItems[position] is String -> {
HEADER_VIEWTYPE
}
uiItems[position] is Product -> {
PRODUCT_VIEWTYPE
}
else -> {
-1
}
}
}
Как сохранить состояние просмотра без изменения всей строки при прокрутке вверх и вниз в моем окне повторного просмотра?