Flutter- 如何一次且仅一次渲染 listview.builder 中的所有项目

Flutter- How to render all items in the listview.builder at once and only once



我在 listview.builder 的 flutter 中遇到问题,它只渲染显示的项目,而不是所有项目(即使它们没有显示),当我向下或向上滚动时,它渲染未显示的项目并重新渲染已经呈现的项目。

这实际上不是问题,phone 内存只渲染显示的项目很好,但对我来说,这是一个问题,因为我很难对项目进行一些操作。

这些操作就像从每件商品中获取数据,比如商品的价格,如果它高于 100 美元,然后在屏幕底部打印它们的总数。
我做不到这一点,因为它没有显示所有项目以从中获取数据,当我向下滚动时,它从未显示的项目中获取数据,但是当我滚动时备份,它再次从已经显示的项目中获取数据!

  • 例如,如果显示的项目有这个数据= 300,而没有显示的项目有这个数据= 800,一开始它会得到300,当我向下滚动时,它会得到1100,但是当我起来,它会得到1400



    我真的很想解决这个问题,它阻碍了我完成我的项目。

    非常感谢您的宝贵时间。

  • 我只把 Listview.builder 放在 SingleChildScrollView 中就解决了这个问题,这就解决了所有问题。