Массив Flutter Firestore добавляет элементы в список

# #android #firebase #flutter #dart #google-cloud-firestore

#Android #огневая база #трепетать #дротик #google-облако-firestore

Вопрос:

я хочу добавить data.value() из элементов Firebase Firestore в список,

я получил 10 предметов в массиве Firestore, и все предметы будут показаны в списке ,

вот я получаю документ, как ,

 docCek() {  firestoreInstance.collection("icerik").doc("TYT").get().then((value) {  //print(value.data());  int itemCount = value.data()!["dersler"].length;  });   update();  }  

результат таков :

 I/flutter (11270): [Türkce, Matematik, Geometri, Fizik, Kimya, Biyoloji, Tarih, Cografya, Felsefe, Din Kültürü]  

и у меня есть локальный RxList , я хочу добавить все элементы в список с помощью for , но цикл for не собирается ,

 var dersler = [].obs;  

и моя функция с циклом For

 docCek() {  firestoreInstance.collection("icerik").doc("TYT").get().then((value) {  //print(value.data());   print(value.data()!["dersler"]);  print(value.data()!["dersler"].length);   int count = value.data()!["dersler"].length;   for (var i = 0; i gt;= count; i  ) {  dersler.add(value.data()!["TYT"]);  print(dersler.toString());  }  });   update();  }  

как я могу добавить все элементы из результата в список Дерслера ?

Спасибо!

Комментарии:

1. Я думаю, что ваш цикл for имеет перевернутую логику. Ваше условие верно для значений i , которые больше, чем count . Попробуй for (var i = 0; i lt; count; i ) {

2. Вау, как здорово, что он работает прямо сейчас ! 😀 Но только ноль,ноль,ноль !

3. Я не знаю, как выглядит ваша структура данных, но я подозреваю, что вы вводите неправильный ключ dersler.add(value.data()!["TYT"]); . TYT Правильный ли ключ?

Ответ №1:

Я понял это прямо сейчас, я добавляю только функцию addAll, и вот новый код ,

 docCek() {  firestoreInstance.collection("icerik").doc("TYT").get().then((value) {  //print(value.data());   print(value.data()!["dersler"]);  print(value.data()!["dersler"].length);   int count = value.data()!["dersler"].length;   dersler.addAll(value.data()!["dersler"].toList());   /* for (var i = 0; count gt; i; i  ) {  dersler.addAll(value.data()!["dersler"].toString());  print(dersler.toString());  }*/  });   update();  }