颤振提供程序不允许我访问数据



>我在我的颤振应用程序中设置了一个简单的提供程序,如下所示:

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));

我收到以下错误:

"获取器'data1'在空值上被调用。

有人可以帮我吗? 我正在尝试在该状态下存储一个 Data1 数组。 谢谢!

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

我只是建议你

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

当然,您必须更好地根据需要进行自定义,但问题再次是您的列表充满了null

最新更新