每当我运行Flutter应用程序时,我都会收到此错误:

E / flutter(8247):NoSuchMethodError:在null上调用了方法“add”。

class _HomePageState extends State<HomePage> {


  List responseJson;
  List EventDetails ;

  Future<String> fetchPost() async {
    final response = await http.get(
        "https://....",
        headers: {
          HttpHeaders.AUTHORIZATION:
          "Bearer .."
              });

    for(var i = 0; i< (responseJson?.length ?? 0);i++) {
      print(responseJson[i]["id"]);


      final eventDetailsRepsonse = await http.get(
          "https:..." + responseJson[i]["id"].toString(),
          headers: {
            HttpHeaders.AUTHORIZATION:
            "Bearer .."
});

        EventDetails.add(json.decode(eventDetailsRepsonse.body));

      EventDetails = responseJson;
    }

    //print(response.body);
this.setState(() {
  responseJson = json.decode(response.body);
  print(response.body);
  print(responseJson);

});
//    data = JSON.decode(response.body);
    print(responseJson[1]["code"]);
    print(responseJson[1]["event_banner"]);

    //return new Post.fromJson(responseJson);

  }

任何想法如何解决这个问题?

最佳答案

responseJson尚未初始化

for(var i = 0; i<responseJson.length;i++) {

被执行。

更改为
for(var i = 0; i< (responseJson?.length ?? 0);i++) {

可能会解决它。

10-08 04:52