【问题标题】:how to load all recycler view items at once如何一次加载所有回收站视图项目
【发布时间】:2020-09-24 23:01:17
【问题描述】:

我正在制作购物应用程序,我在回收站视图中列出用户的购物车,然后计算 onBindViewHolder 内的总价,但我必须向下滚动才能获取所有商品的价格。 我可以让回收站视图一次加载所有项目,还是有更好的解决方案来计算总价? 顺便说一句,我尝试将回收器视图放在嵌套滚动视图中,但没有工作它显示空列表

【问题讨论】:

  • 你能分享一下你已经做了什么吗?
  • 如果要获取总价,在获取数据列表时计算。
  • 使用onBindViewHolder 将价格相加是一个非常糟糕的主意,并且会由于回收而导致错误的结果。 @GuanHongHuang 是正确的:只需将数据列表中的价格相加即可。

标签: android firebase firebase-realtime-database android-recyclerview


【解决方案1】:

RecyclerView 的意义在于只创建几个项目视图并重复使用它们,而不是像 ListView 那样为每个项目创建一个视图。 onBindViewHolder 是其中一个项目视图(ViewHolder)要求它需要显示的数据的地方 - 它是一个关于特定项目的函数,而不是你要为整个显示执行一般代码的地方。

但是您的 Adapter 可以提供您的支持数据的视图 - 您有类似所有项目的列表,在 onBindViewHolder 中,您将获得其中一个的 position,而您从你的数据列表中取出一个项目,对吧?向下滚动只是显示您已经拥有的数据,因此您应该直接在该数据源上进行计算

【讨论】:

    【解决方案2】:

    您不需要加载所有内容。您已经有一个要传递给回收站视图的列表,您需要做的就是遍历该列表并从该列表中选择价格并将其添加到变量中,完成后您将获得总价格

    【讨论】:

      【解决方案3】:

      根据您的问题,我理解的主要问题是您想要显示用户在购物车上添加的所有商品,并且您想要向下滚动并添加所有价格并想要查看整个价格。

      好的,首先为什么要将 Recycler View 放在 Scroll View 中? Recycler View 正在显示您的所有物品。去掉它。这是错误的。制作回收站视图。将所有数据发送到 Recycler View,它将在购物车屏幕中显示用户选择的所有项目。在 Recycler View 之后,您只提供一个显示总价的文本视图。

      如果你想问逻辑确定总价。也评论下来。谢谢。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-10-03
        • 1970-01-01
        • 2020-11-02
        • 1970-01-01
        相关资源
        最近更新 更多