I am trying to add widgets in a SliverList
using a for
-loop.
But I get the following error:
error: The element type \'Se
The problem here is that the collection for operator does not take curly braces ({}
). i.e. they do not work with them as you can tell.
Curly braces are used for Set
and Map
literals. If you add a colon behind an entry, it becomes a Map
literal, e.g. { 'flavor': 'sweet' }
. However, if you just use curly braces, it creates a Set
. Usually this does not affect for-loops because curly braces are used as regular flow control.
Anyways, to fix the issue you simply need to remove your curly braces:
for(var i = 0; i < 5; i++) EachBusInfoBodyWidget(Colors.green)
Change your build
method as follows:
@override
Widget build(BuildContext context) {
//insert
List<Widget> widgets = List<Widget>();
for(var i=0;i<5;i++){
widgets.add(EachBusInfoBodyWidget(Colors.green));
}
//end insert
return Scaffold(
And also change your CustomScrollView
:
child: CustomScrollView(
slivers:
<Widget>[
SliverList(
delegate: SliverChildListDelegate(
//insert
widgets
//end insert
),
),
],
),