在列表中使用参数 | Flutter/Dart

Use parameter in list | Flutter/Dart

我是 Flutter 新手,有个问题让我抓狂了 2 天:) 我想在列表中使用参数(name1),但无法弄清楚哪里出了问题:


  List<Widget> player = [Text(name1)];
  String name1 = 'Max';

  @override
  Widget build(BuildContext context) {
    return Container(
      child: player[0],
    );
  }
}

错误:无法在字段初始值设定项中访问 'this' 以读取 'name1'

这是一个简化版本,但包含了问题。

您不能使用刚刚初始化的变量来初始化另一个变量。您可以在方法内调用变量。例如如果是一个StatefulWidget,你可以在initState方法中填充列表。

  List<Widget> player = [];
  String name1 = 'Max';
  
  @override
  void initState() {
    player.add(Text(name1));
    super.initState();
  }

或者您可以使用所有小部件初始化列表:

List<Widget> player = [Text('name1'),Text('name2')];