Vertical viewport was given unbounded height error

不问归期 提交于 2019-12-09 09:18:48

问题


 @override
 Widget build(BuildContext context) {
   return Column(
     children: <Widget>[
       new Text("Some text"),
       ListView()
     ],
   );
 }

 Widget ListView() {
   return ListView(
     padding: EdgeInsets.symmetric(vertical: 8.0),
     children: Item(),
   );
 }

 List<Item> Item() {
   return list
     .map((item) => Item(text: item))
     .toList();
 }

 class Item extends ListTile {
   Item({String text, GestureTapCallback onTap})
    : super(subtitle: Column(children: <Widget>[
        Text(text),
      ]));
 }

A blank space appears on the screen and the console says:

Vertical viewport was given unbounded height. Viewports expand in the scrolling direction to fill their container.


回答1:


Wrapping ListView inside Flexible will make it work.

Widget ListView() {
return new Flexible(child: new ListView(
    padding: new EdgeInsets.symmetric(vertical: 8.0),
    children: Item()));
}



回答2:


The best solution is to use Flexible, but if you want to give it an exact height you should use Container like this:

    Widget ListView() {
    return Container(
       height:100.0,
       child: ListView(
        padding: new EdgeInsets.symmetric(vertical: 8.0),
        children: Item()));
    }


来源:https://stackoverflow.com/questions/51740740/vertical-viewport-was-given-unbounded-height-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!