Flutter listview不可见

问题描述 投票:1回答:4
 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。页面变成空白,帮我解决这个问题

flutter
4个回答
2
投票

你错过了return中的itemBuilder声明

itemBuilder: (BuildContext context, int index) {
    return Text(menServicesList[index].name);
}),

要么

itemBuilder: (BuildContext context, int index) => Text(menServicesList[index].name)),

1
投票

如果从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)
        );
      })
}

0
投票

将ListView包装在ExpandedContainer小部件中,如果使用Container,则需要设置高度/宽度。

发生这种情况是因为ListView没有要编辑的高度/宽度属性。

编辑

不要忘记在itemBuilder属性中返回Text。


0
投票

我有同样的问题。 ListView.builderColumn内部不起作用,这必要使用ExpandedExpanded小部件允许您使用相对小部件扩展和填充空间。

看到这个:

child: Column(
   children: <Widget>[
      Expanded(
         child: ListView.builder(
            .......
         )
      )
   ]
)
© www.soinside.com 2019 - 2024. All rights reserved.