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()], );
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With