如何创建返回小部件数组的函数

时间:2018-05-15 10:35:25

标签: flutter

我必须创建一个返回小部件数组的函数,如下所示:

new GridView.count(crossAxisCount: _column,children: getRandomWidgetArray(),

示例函数如下: -

Widget[] getRandomWidgetArray()
    {
      Widget[] gameCells;
      for(i=0;i<5;i++)
       {
          gameCells.add(new MyCellWidget(i));
       }
      return gameCells;
    }

以上代码给出了此错误: - enter image description here
我知道如何在没有功能的情况下这样做: children: < Widget >[ new MyCellWidget(0), new MyCellWidget(1),] 但是我必须使它具有动态功能,因为将来值会发生变化,上面的代码只是原型。 颤动的例子非常少。有人可以帮帮我吗。
提前谢谢!

3 个答案:

答案 0 :(得分:9)

Dart中的数组类型为List<Type>

List<Widget> getRandomWidgetArray()

[]只能用作文字值来创建新的列表值,而不能用于类型声明。

答案 1 :(得分:1)

List<Widget> getRandomWidgetArray(){

  List <Widget> gameCells = List<Widget>();
  for(i=0;i<5;i++)
   {
      gameCells.add(new MyCellWidget(i));
   }
  return gameCells;
}

这是初始化List,添加元素并返回Widget列表的正确方法。

答案 2 :(得分:1)

此时不推荐使用以下代码:

List <Widget> gameCells = List<Widget>();

改用以下内容:

List <Widget> gameCells = <Widget>[];

第一个代码无论如何都可以工作,但您会收到警告。