我在flutter应用程序中设置了一个简单的提供程序,如下所示:
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));
我收到以下错误:
“ getter'data1'在null上被调用。”
有人可以帮我吗?我试图在状态中存储一个Data1数组。谢谢!
答案 0 :(得分:1)
由于您尝试访问空对象上的.data1,因此在创建列表时,内部没有初始化任何Data1对象。
我只是建议您
var myData = Data1();
myData.data1 = whichnumber;
FinalDataList[whichone] = myData;
当然,您必须根据需要进行更好的自定义,但是问题又来了,您的列表中充满了null