在 null 上调用了方法“[]=”。创建地图列表时

The method '[]=' was called on null. When Creating List of Map

我想创建地图列表,但是当我将地图添加到列表时出现此错误,方法“[]=”被调用为空。

List<Map<String, dynamic>> a = [];

用地图填充列表的函数。

void populateLists()
  {
    Map<String,dynamic> tempData;
      tempData["CompanyName"] ="Hello";
      tempData["PricePerQuantity"] = "Yo";
      a.add(tempData);
      print(a);
      tempData.clear();
  }

你能告诉我应该采取什么步骤来解决这个问题吗?

Map<String,dynamic>() 初始化你的 tempData,现在 tempDatanull

Map<String,dynamic> tempData= Map<String,dynamic>();

您的 Map<String,dynamic> tempDatanullpopulateLists() 方法中

使用这个

void populateLists()
  {
      Map<String,dynamic> tempData= Map<String,dynamic>();
      tempData["CompanyName"] ="Hello";
      tempData["PricePerQuantity"] = "Yo";
      a.add(tempData);
      print(a);
      tempData.clear();
  }

而不是这个

 void populateLists()
  {
      Map<String,dynamic> tempData;
      tempData["CompanyName"] ="Hello";
      tempData["PricePerQuantity"] = "Yo";
      a.add(tempData);
      print(a);
      tempData.clear();
  }