the element type 'List<widget>' can't be assigned to the list type 'Widget'
I am trying to add data using for loop in gridview but it is showing some error. Here is my code for component
return new GridView.count(
crossAxisCount: 2,
padding: const EdgeInsets.all(10.0),
crossAxisSpacing: 10.0,
mainAxisSpacing: 10.0,
children: <Widget>[getList()],
);
getList() code
List<Widget> getList() {
List<Widget> childs = [];
for (var i = 0; i < 10; i++) {
childs.add(new ListItem('abcd ' + $i));
}
return childs;
}
But it is showing compile time error.
The element type 'List<widget>' can't be assigned to the list type 'Widget'
Here you are wrapping a list as list
children: <Widget>[getList()],
This should rather be
children: getList(),
Just use spread operator:
return new GridView.count(
crossAxisCount: 2,
padding: const EdgeInsets.all(10.0),
crossAxisSpacing: 10.0,
mainAxisSpacing: 10.0,
children: <Widget>[...getList()],
);