因为这个错误,我快疯了。它只是在打开屏幕几分之一秒后出现,然后就消失了。每个新的应用程序安装只会出现一次此问题。
我不知道为什么它在这么短的时间内找不到文档字段,以及为什么它在这之后就可以正常工作了。
我的代码片段:
getMembers() {
// checkField();
return StreamBuilder<QuerySnapshot> (
///Hier sollte eher aus den User>> Groups>> und dann den Usernamen von dem userid dokument ausgeben
stream: FirebaseFirestore.instance
.collection("Groups")
.doc(widget.groupname)
.collection("Debt")
.snapshots(),
builder: (ctx, streamSnapshot) {
if (!streamSnapshot.hasData || !streamSnapshot.data!.docs.isNotEmpty) {
return Center(
child: CircularProgressIndicator(),
);
}
final documents = streamSnapshot.data!.docs;
return Expanded(
child: ListView.builder(
shrinkWrap: true,
itemCount: documents.length ,
itemBuilder: (ctx, index) {
String docID = streamSnapshot.data!.docs[index].id;
///Ermitteln der Document ID !!!!
return Container(
padding: EdgeInsets.all(2),
child: Card(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(45),
),
child: ListTile(
title: Row(
mainAxisAlignment: MainAxisAlignment.start,
children: [
Container(
width: MediaQuery.of(context).size.width / 3,
child: Text(
"${documents[index]["username"]}",
),
),
],
),
),
),
);
},
),
);
},
);
}
编辑
更改扩展为一列也不起作用:S
你能告诉我为什么这个工作没有任何问题,而顶部的那个仍然显示这个错误吗?我不明白为什么它找不到数据,因为数据肯定在那里......
这是来自不同屏幕的一个,工作正常:
StreamBuilder<QuerySnapshot>(
stream: FirebaseFirestore.instance
.collection("Chats")
.orderBy("createdAt", descending: true)
.where("group", isEqualTo: widget.groupname)
.snapshots(),
builder: (ctx, streamSnapshot) {
if (!streamSnapshot.hasData) {
return Center(
child: CircularProgressIndicator(),
);
}
final documents = streamSnapshot.data!.docs;
return ListView.builder(
reverse: true,
itemCount: documents.length,
itemBuilder: (ctx, index) {
String docID = streamSnapshot.data!.docs[index].id;
return Row(
mainAxisAlignment: documents[index]["User"] == userid
? MainAxisAlignment.end
: MainAxisAlignment.start,
children: [
Container(
width: 300,
padding: EdgeInsets.symmetric(
vertical: 0.2, horizontal: 4),
child: Card(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(45)),
color: documents[index]["User"] == userid
? Colors.grey[400]
: Colors.brown[300],
child: ListTile(
leading: FaIcon(FontAwesomeIcons.comment),
title: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(
documents[index]["name"] +
": " +
documents[index]["input"],
),
Text(
"${documents[index]["Datum"]}",
style: TextStyle(fontSize: 10),
)
],
),
trailing: delete
? IconButton(
icon: Icon(
Icons.delete,
color: Colors.red,
),
onPressed: () async {
await chats.doc(docID).delete();
},
)
: null,
),
),
),
],
);
},
);
},
),
编辑错误堆栈: