flutter问题 rendercustommultichildlayoutbox object was given an infinite size during layout.

追攀更觉相逢晚,谈笑难忘欲别前。

做一个ListView,引入ListView item布局,像这样:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27


Widget (BuildContext context) {
var content = null;
if (listData.isEmpty) {
content = CircularProgressIndicator(
backgroundColor: Colors.green,
);
} else {
content =
new Container(
child: ListView.builder(
itemCount: listData.length,

itemBuilder: (context, index) {
return getItemWidget(index);
},
),
);
}

return new Scaffold(
body: new Center(
child: content,
),
);
}

当item布局这样写时候,

1
2
3
4
5
6

Widget (BuildContext context) {
return Scaffold(
body: Text('数据'),
);
}

这样的话 就会遇到这样的问题。问题是,你的子布局没有明确的大小。原来你的item布局不能使用脚手架于是改成这样

1
2
3
4
5
6

Widget (BuildContext context) {
return new Container(
child: Text('数据'),
);
}

当item子布局中不用使用脚手架Scaffold