从For语句向Flutter中的List添加元素?

问题描述 投票:1回答:1

尝试将我的for循环中的元素添加到我的List时,我收到以下错误...

NoSuchMethodError: The method 'addAll' was called on null.
    Receiver: null
    Tried calling: addAll("LrWr826cd3Y")

这是我的代码......

Future getData() async {
    //Map videoId;

    String url = 'https://Youtube API';
    var httpClient = createHttpClient();
    var response = await httpClient.read(url);
    Map data = JSON.decode(response);
    var videos = data['items']; //returns a List of Maps

    List searchTitles;
    List searchIds;
    List searchImages;

    for (var items in videos) {
      //iterate over the list
      Map myMap = items; //store each map
      final video = (myMap['id'] as Map);
      print(video['videoId']);
      searchIds.addAll(video['videoId']);
      final details = (myMap['snippet'] as Map);
      final videoimage = (details['thumbnails'] as Map);
      final medium = (videoimage['medium'] as Map);

    }

    setState(() { });

    if (!mounted) return;
  }

print(video['videoId']);成功地将3个Youtube视频ID列为字符串。 searchIds.addAll(video['videoId']);抛出错误。我试过searchIds.addsearchIds.addAll。我哪里错了?

我想最终将这些列表推送到我的List类。

class CardInfo {
  //Constructor
  List id;
  List title;
  List video;

  CardInfo.fromJson(List json) {
    this.id;
    this.title;
    this.video;
  }
}
list dart iteration element flutter
1个回答
7
投票

您没有实例化您的searchIds对象。加上这个

List searchIds = new ArrayList<>();

(要么)

List searchIds = new List(); 
© www.soinside.com 2019 - 2024. All rights reserved.