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





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

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

这些操作就像从每个项目中获取数据,比如如果项目的价格高于100美元,那么它的价格,然后在屏幕底部打印它们的总量。
我不能这样做,因为它不会显示所有项目以从中获取数据,当我向下滚动时,它会从未显示的项目中获取数据;但当我向上滚动时,会再次从已显示的项目获取数据!

  • 例如,如果显示的项目具有此数据=300,而未显示的项目拥有此数据=800,起初它将获得300,当我向下滚动时,它将获得1100,但当我返回时,它会获得1400

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

    非常感谢您抽出时间。

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

    最新更新