在避免ListView重新构建的情况下,可以使用ListView.builder构建列表视图,它只会在可见的部分构建和更新列表项。以下是一个包含代码示例的解决方法:
class MyListView extends StatefulWidget {
@override
_MyListViewState createState() => _MyListViewState();
}
class _MyListViewState extends State {
List items = List.generate(100, (index) => "Item $index");
@override
Widget build(BuildContext context) {
return ListView.builder(
itemCount: items.length,
itemBuilder: (context, index) {
return ListTile(
title: Text(items[index]),
);
},
);
}
}
在上面的示例中,我们使用ListView.builder构建了一个列表视图,该构造方法只会构建并更新可见的列表项。它需要两个参数:itemCount和itemBuilder。
这样,当列表视图滚动时,只会构建和更新可见的列表项,而不会重新构建整个列表视图。
上一篇:避免ListView的不必要刷新
下一篇:避免流和读写器中的内存泄漏