在循环内部颤动小部件



我有以下代码来根据Future Builder 返回的项目创建Row窗口小部件

for (int i = 0; i < snapshot.data.length; i++)  Row( ) ,

以上将根据snapshot.data中的项目数创建"行"我试图实现的是根据返回的项目长度创建多个小部件

for (int i = 0; i < snapshot.data.length; i++) {
// for each item create two rows for example 
Row( ) ,
Row( ) ,
} 

但我得到了以下错误!

the element Type 'set<Row>' can't be assigned to the list 'Widget'

试试这个:

List.generate(snapshot.data.length, (index) => Row( ),),

或者,如果你想在不同的索引中插入不同的小部件,请使用:

List.generate(snapshot.data.length, (index) {
if(index == 0){return Row();}
else if(index == 1){return Column();}
else{return Container();}
),

使用ListView.builder定义itemCount属性的长度。例如

body: ListView.builder
(
itemCount: snapshot.data.length,
itemBuilder: (BuildContext ctxt, int index) {
return Row();
}
)

您可以使用listView.builder或for in。当您构建小部件时,不能使用大括号