我通过API获取数据,这些API为我的RecyclerView提供了一系列行。在每个行中都有一个元素数组,我想动态地添加到每个RecyclerView行。每个元素对应一个视图。例如,我可能会得到一个标题,然后是图像,然后是文本。或者我可能会得到一个图像。或标题和文字。这些只是一些元素,有更多甚至数百种不同的可能组合。出于这个原因,如果只需要几种不同类型的行,就像通常那样创建和扩展不同的行类型是不可行的。
我试图将我的视图充气并附加到onBindViewHolder方法的行上,但这会导致每次调用该方法时一次又一次地添加元素。
我已经四处寻找并且没有找到与我所追求的相似的问题,我想知道是否有一种干净而优雅的方式来实现我所需要的。
答案 0 :(得分:2)
我设法使用我已尝试过的以下方法实现了我想要的目标:
我试图将我的视图充气并附加到onBindViewHolder方法的行上,但这会导致每次调用该方法时一次又一次地添加元素。
为了防止每次视图被回收时连续添加视图,我覆盖了onViewRecycled方法,并从行内的线性布局中删除了所有视图。
到目前为止,我对这种方法没有任何问题,但它可能不是最有效的。