RecyclerView.Adapter 中将创建多少个查看器
How many viewholders will be created in a RecyclerView.Adapter
我不明白 RecyclerView
如果有不止一种类型的 views.I 如何回收视图并重用它们 views.I 知道 Adapter
会再创建两个 ViewHolder
s 对于 reusing.In 这种情况,如果下一个项目的类型与其中任何一个都不匹配,则不超过两种类型的视图可以重复使用以呈现 window.But 中的下一个项目已经被回收的两种类型,将没有可重用的视图来呈现下一个项目,因为它需要的视图类型仍然在屏幕上可见并且不能不被recycled.How系统处理了吗?感谢任何和所有答案。
RecyclerView
将根据需要创建尽可能多的 ViewHolder
来填充可用的可见 space。当一个人滚动到视野之外时,就会发生回收。届时,它将被重新用于滚动到视图中的新项目。
如果有可用的回收视图与正在变得可见的新视图相匹配,那么它将被重新使用。否则它将为新视图创建新对象。它使用 getViewType () 来查找。
您可以查看 了解更多相关要点。
已创建的 ViewHolder 数。通常,您可以算出有多少
应该通过确定一次屏幕上适合多少列表项并将 2 添加到 4
到那个数字。这不是确切的公式,但会让你知道有多少
已创建 ViewHolder 以显示任何给定的 RecyclerView。
我不明白 RecyclerView
如果有不止一种类型的 views.I 如何回收视图并重用它们 views.I 知道 Adapter
会再创建两个 ViewHolder
s 对于 reusing.In 这种情况,如果下一个项目的类型与其中任何一个都不匹配,则不超过两种类型的视图可以重复使用以呈现 window.But 中的下一个项目已经被回收的两种类型,将没有可重用的视图来呈现下一个项目,因为它需要的视图类型仍然在屏幕上可见并且不能不被recycled.How系统处理了吗?感谢任何和所有答案。
RecyclerView
将根据需要创建尽可能多的 ViewHolder
来填充可用的可见 space。当一个人滚动到视野之外时,就会发生回收。届时,它将被重新用于滚动到视图中的新项目。
如果有可用的回收视图与正在变得可见的新视图相匹配,那么它将被重新使用。否则它将为新视图创建新对象。它使用 getViewType () 来查找。
您可以查看
已创建的 ViewHolder 数。通常,您可以算出有多少 应该通过确定一次屏幕上适合多少列表项并将 2 添加到 4 到那个数字。这不是确切的公式,但会让你知道有多少 已创建 ViewHolder 以显示任何给定的 RecyclerView。