Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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;
  }
}
like image 203
Charles Jr Avatar asked Dec 22 '25 14:12

Charles Jr


1 Answers

You are not instantiating your searchIds object. add this

List searchIds = new ArrayList<>();

(Or)

List searchIds = new List(); 
like image 186
milad zahedi Avatar answered Dec 24 '25 04:12

milad zahedi



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!