【问题标题】:Recyclerview with multiple dynamic views being inflated inside row具有多个动态视图的 Recyclerview 在行内膨胀
【发布时间】:2015-07-02 15:51:00
【问题描述】:

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

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

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

【问题讨论】:

    标签: android android-recyclerview


    【解决方案1】:

    我设法使用我已经尝试过的以下方法实现了我想要的:

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

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

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

    【讨论】:

    • 我可以知道您是如何详细解决此问题的吗?我遇到了同样的问题。
    • @Manu 确定我很乐意提供帮助。你能告诉我你的 onBindViewHolder 现在发生了什么吗?如果你还没有这样做,你能告诉我你想要达到的目标吗?我会告诉你我的解决方案是否适合你,
    • @Manu 是的,您的问题似乎与我的非常相似。我会回答你的问题。让我再看看发生这种情况的项目。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-11
    相关资源
    最近更新 更多