Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
List 使用变量颤振初始化列表_List_Flutter - Fatal编程技术网

List 使用变量颤振初始化列表

List 使用变量颤振初始化列表,list,flutter,List,Flutter,我正在尝试初始化一个对象列表(它不指定哪个对象-它们都给出相同的错误),因此在示例中我使用字符串: String str = 'str'; String str2 = 'str2'; List<String> strList = ["str", "str2"]; List<String> strList2 = [str, str2]; strList2.add(str); stringstr='str'; 字符串s

我正在尝试初始化一个对象列表(它不指定哪个对象-它们都给出相同的错误),因此在示例中我使用字符串:

String str = 'str';
  String str2 = 'str2';
  List<String> strList = ["str", "str2"];
  List<String> strList2 = [str, str2];
  strList2.add(str);
stringstr='str';
字符串str2='str2';
列表strList=[“str”,“str2”];
列表strList2=[str,str2];
strList2.add(str);
strList工作正常,但我想从服务器响应中添加对象,所以我需要添加变量,为什么strList2.add告诉我“构造函数的名称必须与封闭类的名称匹配”和“尝试重命名其中一个构造函数” 我是个新手,所以对我来说很奇怪

编辑: 我的测试班:

  class test extends StatefulWidget {
  @override
  _testState createState() => _testState();
}

class _testState extends State<test> {

  String str = 'str';
  String str2 = 'str2';
  List<String> strList = ["str", "str2"];
  List<String> strList2 = [str, str2];
  strList2.add(str);

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Text('testClass'),
    );
  }
}
类测试扩展StatefulWidget{
@凌驾
_testState createState();
}
类_testState扩展状态{
字符串str='str';
字符串str2='str2';
列表strList=[“str”,“str2”];
列表strList2=[str,str2];
strList2.add(str);
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:Text('testClass'),
);
}
}

谢谢

这段代码看起来不错。错误消息表示您的一个类的构造函数中有一个输入错误,因此不匹配-例如:

class MySpecialWidget extends StatefulWidget {
  const MySpecialWidgetXXX({Key key) : super(key: key);    // <--- this produces the error you see

  @override
  _CreateMySpecialWidgetState createState() => _CreateMySpecialWidgetState();
}
类MySpecialWidget扩展StatefulWidget{
const MySpecialWidgetXXX({Key-Key):super(Key:Key);/_CreateMySpecialWidgetState();
}
如果.add行中的错误是,那么我认为您可能在某个地方遇到了右括号问题。

您不能在属性定义中使用
add()
。您需要这样使用:

class _testState extends State<test> {

  String str = 'str';
  String str2 = 'str2';
  List<String> strList = ["str", "str2"];
  List<String> strList2 = [str, str2];
  
   @override
   initState() {
      super.initState();
      strList2.add(str);
   }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Text('testClass'),
    );
  }
class\u testState扩展状态{
字符串str='str';
字符串str2='str2';
列表strList=[“str”,“str2”];
列表strList2=[str,str2];
@凌驾
initState(){
super.initState();
strList2.add(str);
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:Text('testClass'),
);
}

我在dartPad中可以使用它。我没有看到任何错误。这都是你的代码吗?我使用Android studio,这些代码在我的小部件中(在statefull类中)你的代码没有问题,我认为你在小部件树中使用不正确。你能将代码发布到你使用它的地方吗?刚刚更新了我的帖子,在上面发布了我的类