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

时间:2020-01-26 21:42:29

标签: flutter dart flutter-provider

我在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数组。谢谢!

1 个答案:

答案 0 :(得分:1)

由于您尝试访问空对象上的.data1,因此在创建列表时,内部没有初始化任何Data1对象。

我只是建议您

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

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