Widget servicesListview() {
return Container(
decoration: new BoxDecoration(color: const Color(0xFFEAEAEA)),
child: Column(
children: <Widget>[
ListView.builder(
scrollDirection: Axis.vertical,
itemCount: menServicesList.length,
itemBuilder: (BuildContext context, int index) {
Text(menServicesList[index].name);
}),
],
));
}
每当我调用此方法列表不可见时,我在我的flutter项目中实现listview。页面变成空白,帮我解决这个问题
你错过了return
中的itemBuilder
声明
itemBuilder: (BuildContext context, int index) {
return Text(menServicesList[index].name);
}),
要么
itemBuilder: (BuildContext context, int index) => Text(menServicesList[index].name)),
如果从ListView中删除Column小部件,则肯定会出现列表,如果要为ListView的每个元素提供装饰属性。
Widget servicesListview() {
return ListView.builder(
scrollDirection: Axis.vertical,
itemCount: menServicesList.length,
itemBuilder: (BuildContext context, int index) {
Container(
decoration: new BoxDecoration(color: const Color(0xFFEAEAEA)),
child: Text(menServicesList[index].name)
);
})
}
将ListView包装在Expanded
或Container
小部件中,如果使用Container
,则需要设置高度/宽度。
发生这种情况是因为ListView
没有要编辑的高度/宽度属性。
编辑
不要忘记在itemBuilder属性中返回Text。
我有同样的问题。 ListView.builder
在Column
内部不起作用,这必要使用Expanded
。 Expanded
小部件允许您使用相对小部件扩展和填充空间。
看到这个:
child: Column(
children: <Widget>[
Expanded(
child: ListView.builder(
.......
)
)
]
)