Как перебирать виджеты с разными представлениями - PullRequest
0 голосов
/ 08 октября 2019

Я новичок в трепетании. У меня есть четыре виджета с различным видом, т.е. BarChart, LineChart, StackedBarChart and CircularChart. Затем я создал список

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

Как я могу просмотреть список этих виджетов в ListView

 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(),
                )
                );

1 Ответ

1 голос
/ 08 октября 2019

Вы были почти там. Проблема:

child: new widgetList[index],

Недопустимый синтаксис. Вы не можете «новый» widgetList, поскольку это переменная.

Просто выполните:

child: widgetList[index],

Вот последний синтаксис:

  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: widgetList[index],
      );
    },
    separatorBuilder: (BuildContext context, int index) => const Divider(),
  );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...