简体   繁体   中英

Flutter - How to show ArrayList items pulled from Firebase Firestore with ListTile?

I have a build on Firebase Firestore like this:

在这里输入代码

In the structure here, there are 2 ArrayLists. I want to display what will be done from 2 ArrayLists as ListTile .


I tried a code like this:

Expanded(
  child: StreamBuilder <QuerySnapshot>(
    stream: FirebaseFirestore.instance.collection("users").doc(FirebaseAuth.instance.currentUser.uid).collection("yapilacaklar").snapshots(),
    builder: (context, snapshot) {
      if (!snapshot.hasData) return LinearProgressIndicator();
      return Expanded(
        child: _buildList(snapshot.data),
      );
    },
  )
),

Widget _buildList(QuerySnapshot snapshot) {
  return ListView.builder(
    itemCount: snapshot.docs.length,
    itemBuilder: (context, index) {
      final doc = snapshot.docs[index];
      return ListTile(
        title: Text(doc["yapilacaklar"].toString()),
      );
    },
  );
}

These codes I tried do not give an error, but they do not show in any Widget. How can I do what I want? Thanks in advance for the help.

I believe the issue is the '.collection("yapilacaklar")'. It will try to find a collection with the id "yapilacaklar" and your user doc doesn't have any collections. Yapilacaklar, in this case, is a field in the document. Try getting the snapshots of the actual document and then creating a ListView from the array in the yapilacaklar field.

The flutterfire documentation is very helpful for reading firestore data: https://firebase.flutter.dev/docs/firestore/usage/#read-data

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM