2017-09-23 5 views
0

Je reçois l'erreur suivante en essayant d'ajouter des éléments de ma boucle à mon List ...Ajout d'éléments à l'instruction List in Flutter from For?

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

Voici mon 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']); listes avec succès le 3 Identifiants vidéo YouTube en tant que chaînes. searchIds.addAll(video['videoId']); lève l'erreur. J'ai essayé les deux searchIds.add et searchIds.addAll. Où vais-je mal?

Je voudrais éventuellement pousser ces listes à ma classe de liste ici ..

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

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

Répondre

2

Vous n'êtes pas instancié avec votre objet searchIds. ajouter cette

List searchIds = new ArrayList<>(); 
+1

Voici comment je l'ai eu à travailler pour Flutter ... 'Liste searchIds = new List();' –

+0

Je vois votre problème est résolu. Bon travail. –