Flutter 提供商不允许我访问数据

Flutter provider not allowing me to access data

我在我的flutter应用中设置了一个简单的provider,如下:

import 'package:flutter/material.dart';

class Data1 {
  int data1 = 0;
  double _data2;
  var _arr = [];
}

class SendDataModel extends ChangeNotifier {
  List<Data1> FinalDataList = new List<Data1>(3);

  void changeOption(int whichone, int whichnumber) {
    FinalDataList[whichone].data1 = whichnumber;  //this is where I am getting the error

    notifyListeners();
  }

}

我在我的代码中按如下方式调用提供商:

Provider.of<SendDataModel>(context, listen: false).changeOption(1, int.parse(value));

我收到以下错误:

"The getter 'data1' was called on null."

有人可以帮我解决这个问题吗?我正在尝试将 Data1 数组存储在状态中。谢谢!

因为您试图访问空对象上的 .data1,所以当您创建列表时,内部没有初始化任何一个 Data1 对象。

我只是建议你

var myData = Data1();
myData.data1 = whichnumber;
FinalDataList[whichone] = myData;

当然你必须根据你的需要更好地定制,但问题又是你的列表充满了nulls