尝试将我的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.add
和searchIds.addAll
。我哪里错了?
我想最终将这些列表推送到我的List类。
class CardInfo {
//Constructor
List id;
List title;
List video;
CardInfo.fromJson(List json) {
this.id;
this.title;
this.video;
}
}
您没有实例化您的searchIds对象。加上这个
List searchIds = new ArrayList<>();
(要么)
List searchIds = new List();