# #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(); }