默认构造函数有一个 children
参数,它接收一个 Widget
列表,这种方式只适合子组件较少的情况,这种方式也没有应用懒加载模型,所以,可以认为这种方式与 SingleChildScrollView
+ Column
没有本质区别。
ListView.builder
适合列表项比较多(或者无限)的情况,因为只有当子组件真正显示的时候才会被创建,也就是说,通过该构造函数创建的 ListView
是支持懒加载模型的。定义:
ListView.builder({
// ListView公共参数已省略
…
@required IndexedWidgetBuilder itemBuilder,
int itemCount,
…
})
-
itemBuilder
—— 它是列表项的构建器,类型为IndexedWidgetBuilder
,返回值为一个widget
。当列表滚动到具体的index
位置时,会调用该构造器构建列表项。 -
itemCount
—— 列表项的总数量,如果为null
,则表示无限。
示例:
ListView.builder(
itemCount: