我尝试解析Firebase集合并返回服务类型列表。 在这里,我已用硬代码替换了firebase调用并进行了解析,以简化操作。
Future<List<Service>> _getServices() async {
List<Service> _servicesList;
Service service = new Service(
id: 1,
name: "name",
location: "location",
description: "description",
image: "image");
print(service.description);
_servicesList.add(service);
return _servicesList;
}
函数中的打印返回正确的内容,但出现此错误:
NoSuchMethodError:方法'add'在null上调用。
答案 0 :(得分:2)
那是因为您尚未初始化_servicesList
List<Service> _servicesList = List<Service>();
答案 1 :(得分:0)
你必须这样声明。
// use list bracket [] not use like this => List addItem;
for(var i=0; i<10; i++){
addItem.add(i);
}
答案 2 :(得分:0)
我在提供者中声明了 List。我按照接受的答案纠正了异常,然后使用热重载但得到相同的异常。重新启动应用程序后,我可以看到预期的变化。因此,如果您在提供程序中,请记住重新启动应用程序以反映更改,您可以再次通过声明这样的列表来避免异常 - List<object> myList=[]
答案 3 :(得分:-1)
以下代码将修复您的错误
1 => List _list = List();
2 => List _list = List();
3 => 列表 _list = [];
答案 4 :(得分:-2)
List<Service>()
方法现在在 flutter 中已弃用,下面的代码将修复您的错误
List<Service> _serviceList = [];