tor*_*mon 0 android android-viewholder android-recyclerview
我看过很多视频,RecyclerView但我很困惑它ViewHolder是改变视图的适配器还是它真的只是代表屏幕上显示的每个项目。
我怎样才能更好地理解这个概念?
让我们看看这是否有帮助。
任何列表样式视图的一般工作是显示一长串视图,每个视图代表一条数据,很可能来自列表。
现在想象我们考虑最简单的实现,它在创建时绘制所有这些视图,并允许您滚动浏览它们。这对于性能来说显然是非常低效的,因为一个长列表需要同时进行大量处理。
RecyclerView 旨在解决这个问题,只创建足够的视图以适应屏幕,并在滚动时无缝更改这些视图的内容以反映更多数据。
现在这些视图最初是作为空蓝图创建的,并将RecyclerView它们包裹在一个叫做 a 的东西中ViewHolder,它不仅可以保存视图,还可以指向视图的不同部分,这样每次显示新数据时都可以节省更多的工作。然后最初和滚动时,RecyclerView“绑定”相关数据以查看持有者。
适配器的工作是将这个过程联系在一起,它有三个方法需要你提供一个具体的实现:
getItemCount - 期望返回完整数据集中有多少项目onCreateViewHolder - 创建一个表示通用行的视图持有者onBindViewHolder - 将数据绑定到视图持有者,因此在给定视图持有者和数据集中应该绑定的位置时更新行内容