首页 > 解决方案 > 一个回收站视图的两个适配器

问题描述

我有点进退两难。我会尽量简单地解释它。

我的应用程序有一个页面,我通过回收站视图(由蓝色矩形表示)显示帖子的提要:

在此处输入图像描述

这很简单,因为我PostAdapter为处理所有子视图逻辑的回收器视图创建了一个类。

现在我有另一个要求,我需要一个在回收站视图顶部显示帖子(蓝色矩形)的页面,然后在其下方显示对该帖子的回复(由红色矩形表示):

在此处输入图像描述

请记住,蓝色和红色矩形是简化的。这些视图中的每一个都有数十个子视图和数百行逻辑代码。

ReplyAdapter为此页面上的回收器视图创建了另一个类 ,它处理回复的所有逻辑。

我现在的问题变成了:我怎样才能在回收站视图的顶部显示帖子(蓝色矩形)?

我知道我可以修改ReplyAdapter以允许多种类型(如此处所述),但因为它们已经是两个独立的类,每个类都有自己的复杂逻辑,所以这对我来说不是真的可能性。

所以我的问题是:有没有办法让两个适配器的逻辑分开,同时仍然能够在同一个回收器视图下使用它们?如果是这样,怎么做?如果没有,我该怎么办?

标签: androidandroid-recyclerview

解决方案


如果您的用例正是这样 - 来自PostAdapter顶部的数据,来自ReplyAdapter下面的数据 - 那么androidx.recyclerview.widget.ConcatAdapter可能会有所帮助。顾名思义,它连接适配器。


推荐阅读