Charles Jr Charles Jr - 1 month ago 12
Dart Question

Adding elements to List in Flutter from For statement?

I'm receiving the following error while trying to add elements from my for loop to my

List
...

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


Here is my code...

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']);
successfully lists the 3 Youtube video ids as Strings.
searchIds.addAll(video['videoId']);
throws the error. I've tried both
searchIds.add
and
searchIds.addAll
. Where am I going wrong?

I would like to eventually push these lists to my List class here..

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

CardInfo.fromJson(List json) {
this.id;
this.title;
this.video;
}
}

Answer Source

You are not instantiating your searchIds object. add this

List searchIds = new ArrayList<>();