Vertical RecyclerView 中的 Horizontal RecyclerViews 丢失位置/状态
Posted
技术标签:
【中文标题】Vertical RecyclerView 中的 Horizontal RecyclerViews 丢失位置/状态【英文标题】:Horizontal RecyclerViews inside Vertical RecyclerView losing position/state 【发布时间】:2017-01-12 19:49:45 【问题描述】:我有一个垂直回收器视图,垂直回收器视图的每个项目都有一个水平回收器视图,水平回收器视图的所有项目都有不同的高度和相同的高度,我正在以像素的距离以编程方式滚动回收器,几乎一切工作正常.
所有水平回收器都必须同步,它们必须滚动相同的距离。 我可以在所有可见行中水平滚动,但是当我滚动垂直回收器时,水平回收器视图正在丢失位置。
有什么想法吗?
我正在尝试使用适配器,例如适配器的 onViewRecycled 和其他功能,但还没有成功
【问题讨论】:
【参考方案1】:在 Recycleview 适配器中,您可以添加以下行。它已经适用于我的代码。
public int getItemViewType(int position)
return dataSet.get(position).getId();
【讨论】:
谢谢,它有效,我用这个代替; @Override public int getItemViewType(int position) 返回位置; ||现在我只需要滚动所有水平回收器并保持滚动量相等; 在你的 recyclerview 中给每个项目一个不同的位置会对性能造成巨大的影响,因为视图将不再被回收,因为每个位置的每个视图都是唯一的以上是关于Vertical RecyclerView 中的 Horizontal RecyclerViews 丢失位置/状态的主要内容,如果未能解决你的问题,请参考以下文章