【问题标题】:Non-nullable instance field 'buttonStartingYpoint' must be initialized必须初始化不可为空的实例字段“buttonStartingYpoint”
【发布时间】:2021-09-26 17:11:02
【问题描述】:

这是我的模型课。我正在尝试获取 http 响应并将其打印到我的应用程序中。

在第 12 行 DataModel 显示此错误

“必须初始化不可为空的实例字段'buttonStartingYpoint'。 尝试添加初始化表达式,或在此构造函数中添加字段初始化程序,或将其标记为“迟到”。”

必须初始化不可为空的实例字段“buttonHeight”。 尝试添加初始化表达式,或在此构造函数中添加字段初始化,或将其标记为“延迟”

  String buttonLetter;
  int buttonHeight;
  int buttonWidth;
  int buttonStartingXpoint;
  int buttonStartingYpoint;

  DataModel(
      {required this.buttonLetter,
      required this.buttonHeight,
      required this.buttonWidth,
      required this.buttonStartingXpoint,
      required this.buttonStartingYpoint});

  DataModel.fromJson(Map<String, dynamic> json) {
    buttonLetter = json['Button_letter'];
    buttonHeight = json['Button_height'];
    buttonWidth = json['Button_width'];
    buttonStartingXpoint = json['Button_Starting_xpoint'];
    buttonStartingYpoint = json['Button_Starting_ypoint'];
  }

  Map<String, dynamic> toJson() {
    final Map<String, dynamic> data = new Map<String, dynamic>();
    data['Button_letter'] = this.buttonLetter;
    data['Button_height'] = this.buttonHeight;
    data['Button_width'] = this.buttonWidth;
    data['Button_Starting_xpoint'] = this.buttonStartingXpoint;
    data['Button_Starting_ypoint'] = this.buttonStartingYpoint;
    return data;
  }
}

我尝试添加后期,但它在后期和模型中都显示错误。而且我是新来的颤振

【问题讨论】:

    标签: flutter flutter-test


    【解决方案1】:

    你必须在初始化列表中初始化它们。当您到达构造函数主体时,为时已晚。这是修复:

      DataModel.fromJson(Map<String, dynamic> json) :
        buttonLetter: json['Button_letter'],
        buttonHeight: json['Button_height'],
        buttonWidth: json['Button_width'],
        buttonStartingXpoint: json['Button_Starting_xpoint'],
        buttonStartingYpoint: json['Button_Starting_ypoint'];
    
    

    供参考:https://dart.dev/guides/language/language-tour#constructors

    【讨论】:

    • 好的,很好。现在请将答案标记为已接受,以便人们知道这是正确答案,我得到 15 分:D
    猜你喜欢
    • 2021-07-06
    • 1970-01-01
    • 2021-09-14
    • 2021-09-24
    • 2021-10-11
    • 2021-08-27
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多