具有多个动态视图的 Recyclerview 在行内膨胀

Recyclerview with multiple dynamic views being inflated inside row

我通过 API 获取数据,它为我的 RecyclerView 提供了一组行。在这些行的每一行中都有一个元素数组,我想将其动态添加到我的 RecyclerView 行中的每一行。每个元素对应一个视图。因此,例如,我可能会得到一个标题,然后是图像,然后是文本。或者我可能只得到一张图片。或标题和文字。这些只是一些元素,还有更多甚至数百种不同的可能组合。出于这个原因,如果您只需要几种不同类型的行,那么创建和扩充不同的行类型是不可行的。

我尝试膨胀并将我的视图附加到 onBindViewHolder 方法上的行,但这导致每次调用该方法时都会一次又一次地添加元素。

我四处搜索,没有发现与我所追求的类似的问题,我想知道是否有一种干净优雅的方式来实现我的需要。

我使用我已经尝试过的以下方法设法实现了我正在寻找的东西:

I tried to inflate and attach my views to the row on the onBindViewHolder method, but this caused the elements to be added again and again everytime that method was called.

为了防止视图每次被回收时不断添加视图,我重写了onViewRecycled方法,并从行内的线性布局中删除了所有视图。

到目前为止,我对这种方法没有任何问题,但它可能不是最有效的。