2017-09-23 7 views
0

나는For 문에서 Flutter로 List에 요소를 추가 하시겠습니까? 내 <code>List</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']); 성공적으로 삼을 나열 ... 여기

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

내 코드는 ... 다음과 같은 오류 메시지가 표시됨 유튜브 비디오 ID는 문자열로. searchIds.addAll(video['videoId']); 오류가 발생합니다. 나는 searchIds.addsearchIds.addAll을 시도했습니다. 내가 어디로 잘못 가고 있니?

나는 결국 여기 내 목록 클래스에이 목록을 밀어 싶습니다 ..

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

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

답변

2

당신은 당신의 searchIds 객체 인스턴스화되지 않습니다. 이 내용을 추가하십시오

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

이것은 내가 Flutter ...에 대해 작동하게 만드는 방법입니다. List SearchIds = new List(); –

+0

문제가 해결 된 것을 확인했습니다. 잘 했어. –