我的问题似乎是ListView inside Column causes 'Vertical viewport was given unbounded height'的重复,但是在Expanded
周围添加Flexible
或ListView
小部件的解决方案根本不起作用。它仍然引发相同的错误:Vertical viewport was given unbounded height.
var data = ['a','b','c','d'];
Column(
children: <Widget>[
ListView.builder(
itemCount: data.length,
itemBuilder: (ctx, i) {
return Row(
children: <Widget>[
Text(data[i], style: TextStyle(fontSize: 24 * Rat.rat, color: Colors.white)),
],
);
},
),
],
);
显然,可以通过在ListView
周围添加一个具有固定高度的容器来轻松地对其进行修复,但是我不需要它,我希望它可以动态调整大小。
答案 0 :(得分:1)
更新:
尝试这样的事情:
class Esempio1 extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("WAKAWAKA"),
),
body: Container(
child: Column(
children: <Widget>[
Text("eg1"),
Text("eg2"),
Text("eg3"),
Expanded(
child: ListView.builder(
itemCount: 20,
itemBuilder: (ctx,i){
return ListTile(title: Text("aaaaaa$i"),);
},
),
)
],
),
),
);
}
}
我刚刚尝试了这段代码,它应该可以执行您想要的操作。
OP实际上在另一个Column
中包含了代码块,这就是Expanded
不能正常工作的原因,它包裹在ListView
周围。将Column
包裹在另一个Expanded
中解决了该问题,并使其按预期工作。
答案 1 :(得分:0)
如何在SingleChildScrollView中包装ListView构建器并将其物理设置为
physics: NeverScrollableScrollPhysics(),