RecyclerView 和保存+检索每个适配器项的临时状态
RecyclerView and saving+retrieving temporary states per adapter item
如果调用了ViewHolder's
itemView
setActivated(.)
,则该信息在视图被回收后继续存在(即,如果前一个被激活,则下一个也将被激活)。
在适配器中的每个项目而不是回收器中的每个 itemView 中保存和存储此信息的最佳位置在哪里?使适配器中的项目成为一个单独的容器,其中包含一个项目和一个布尔值,然后将其保存在onViewRecycled(.)
中,并在onBind(.)
?
中再次有条件地调用setActivated(.)
或者是否有更好的方法? (我在想ListView
可能更直观,但除非RecyclerView
强烈反对这种类型的任务,否则我宁愿使用它。)
好吧,我最终创建了一个小型的本地私有 class 来保存状态和对象。现在状态只包括一个布尔值 isSelected
,但我想它可以扩展并在需要时变成一个完整的 class。
如果调用了ViewHolder's
itemView
setActivated(.)
,则该信息在视图被回收后继续存在(即,如果前一个被激活,则下一个也将被激活)。
在适配器中的每个项目而不是回收器中的每个 itemView 中保存和存储此信息的最佳位置在哪里?使适配器中的项目成为一个单独的容器,其中包含一个项目和一个布尔值,然后将其保存在onViewRecycled(.)
中,并在onBind(.)
?
setActivated(.)
或者是否有更好的方法? (我在想ListView
可能更直观,但除非RecyclerView
强烈反对这种类型的任务,否则我宁愿使用它。)
好吧,我最终创建了一个小型的本地私有 class 来保存状态和对象。现在状态只包括一个布尔值 isSelected
,但我想它可以扩展并在需要时变成一个完整的 class。