我使用了 RececlerView 使用 ViewHolder 暂时的模式。 Im正在实现自定义 Adapter .
RececlerView
ViewHolder
Adapter
我没有在我的代码中搜索特定的bug帮助。
我只是想知道,这是否正常 onBindViewHolder 方法被多次调用(对于同一项),同时滚动到列表末尾并向上滚动。在这种情况下 onBindViewHolder 再次为项0和1调用(列表共包含7项)
onBindViewHolder
是否有可能在不通知datasat已更改的情况下再次调用此方法?
我有点困惑。
谨致问候, 棕榈
是的,对于一个 RecyclerView 调用 onBindViewHolder() 多次。
RecyclerView
onBindViewHolder()
A. 回收视图 仅创建最小数量的 Views 需要填充屏幕。它通过重用旧的/创建的 意见 . 这样,当您向下滚动时,在滚动到顶部期间隐藏的视图将被删除并置于最后可见的视图旁边 View 并在此处添加。但是自从 看法 当前与旧数据绑定 onBindViewHolder() 再次调用以确保 看法 在渲染前仅与正确的数据绑定。
回收视图
Views
意见
View
看法
同样,你会注意到 onCreateViewHolder() 仅称为 意见 它需要。
onCreateViewHolder()
为了更好地了解 回收视图 我建议你阅读一下Recycler、LayoutManager和Recycler的作品。适配器a的三个核心部件 回收视图 .