Flutter 如何迭代具有不同视图的小部件

Flutter 如何迭代具有不同视图的小部件,flutter,widget,flutter-sliver,Flutter,Widget,Flutter Sliver,我是颤振初学者。我有四个具有不同视图的小部件,即条形图、折线图、堆叠条形图和循环艺术。然后我创建了一个列表 final List<Widget> widgetList = <Widget>[ BarChartWidget(), LineChartWidget(), StackedBarChartWidget(), CircularChartWidget(),]; 你就快到了。问题是: child:newwidgetlist[index], 这不是一个有效的语

我是颤振初学者。我有四个具有不同视图的小部件,即
条形图、折线图、堆叠条形图和循环艺术
。然后我创建了一个列表

 final List<Widget> widgetList = <Widget>[
    BarChartWidget(), LineChartWidget(), StackedBarChartWidget(), CircularChartWidget(),];

你就快到了。问题是:

child:newwidgetlist[index],
这不是一个有效的语法。不能“新建”
widgetList
,因为它是一个变量

只要做:

child:widgetList[index],
最后的语法如下:

newlistview.com(
itemCount:entries.length,
填充:边缘设置。全部(8.0),
itemBuilder:(构建上下文,int索引){
返回容器(
身高:150,
颜色:颜色。琥珀色[颜色代码[索引],
子项:widgetList[索引],
);
},
separatorBuilder:(BuildContext上下文,int索引)=>const Divider(),
);
 body: new ListView.separated(
                itemCount: entries.length,
                padding: EdgeInsets.all(8.0),
                itemBuilder: (BuildContext context, int index) {
                  return Container(
                    height: 150,
                    color: Colors.amber[colorCodes[index]],
                    child: new widgetList[index],
                  );
                },
                separatorBuilder: (BuildContext context, int index) => const Divider(),
                )
                );