我想实现一个像这样的ConcatAdapter:

此页面的recyclerView包含以下元素:
但问题是,据我所知,我只能将一个LayoutManager设置为持有ConcatAdapter的recyclerView。
如何为每个适配器设置不同的布局管理器?或者用CocantAdapter实现此页面的任何其他解决方案?
(为什么是ConcatAdapter?因为它解决了nestedRecyclerView的性能问题,即使使用recyclerViewPool也是如此)
发布于 2021-04-05 02:21:53
不幸的是,这是不可能的。RecyclerView适配器只是为每一行提供和绑定视图的组件。ConcatAdapter没有什么不同,它只是从单个适配器重定向。
如果它确实对布局管理器有任何控制,那么它将真正击败RecyclerView模块化的全部要点,而这正是它最初如此强大的原因。
您可以查看源代码这里,了解如何实现它的更多信息。
发布于 2021-10-06 17:41:19
简单的解决方案是在活动/片段中创建一个视图池。回收视图的适配器有两种不同类型的物品,一个是普通的,另一个是实际具有水平布局的回收视图。
因此,一位Viewholder拥有一个回收视图,里面有自己的维修工。
然后您只需从活动中获取创建的视图池,将其作为共享池分配给所有具有水平滚动的适配器,即:-)
Concat适配器对此没有帮助,所以这将是我的替代解决方案。
https://stackoverflow.com/questions/66942672
复制相似问题