问题描述
我已经尝试了以下两个代码:一个使用StreamBuilder.ListView,另一个使用StreamBuilder.ListView.builder。我没有结果。它显示
方法'data'在null上被调用。接收方:null尝试调用: data()
我无法了解QuerySnapshots的工作方式
class FeedStream extends StatelessWidget {
FeedStream();
Map document;
@override
Widget build(BuildContext context) {
return Scaffold(
body: StreamBuilder(
stream: FirebaseFirestore.instance.collection('users').snapshots(),builder: (BuildContext context,AsyncSnapshot<QuerySnapshot> snapshot) {
if (!snapshot.hasData) {
return Center(
child: CircularProgressIndicator(),);
}
return ListView.builder(
itemCount: 2,itemBuilder: (context,index) {
return _buildList(context,snapshot.data.docs[index]);
},);
},),);
}
Widget _buildList(BuildContext context,DocumentSnapshot document) {
return ListTile(
title: Text(document.data()['displayName']),subtitle: Text(document.data()['bio']),);
}
}
class FeedStream extends StatelessWidget {
FeedStream();
Map document;
@override
Widget build(BuildContext context) {
return Scaffold(
body: StreamBuilder(
stream: FirebaseFirestore.instance.collection('users').snapshots(),);
}
return ListView(
children: snapshot.data.docs.map((document) {
return Center(
child: Container(
height: MediaQuery.of(context).size.height / 6,child:
Text('Name:' + document.data()['displayName'].toString()),);
}).toList(),);
}
}
有人可以解决这个问题吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)