Firebase 颤振:无法显示图像url firestore中的图像
我尝试使用图像url显示firestore中的数据。我使用FutureBuilder从firestore获取图像url值。但我有问题,因为我的图像不能显示和显示红色屏幕。我在调试控制台中收到如下消息: 引发了另一个异常:生成函数返回null I/Flatter(13506):引发了另一个异常:NoSuchMethodError: 对null调用了方法“[]” I/Flatter(13506):引发了另一个异常:NoSuchMethodError: 类“QuerySnapshot”没有实例方法“[]” 这是我的代码:Firebase 颤振:无法显示图像url firestore中的图像,firebase,dart,flutter,google-cloud-firestore,Firebase,Dart,Flutter,Google Cloud Firestore,我尝试使用图像url显示firestore中的数据。我使用FutureBuilder从firestore获取图像url值。但我有问题,因为我的图像不能显示和显示红色屏幕。我在调试控制台中收到如下消息: 引发了另一个异常:生成函数返回null I/Flatter(13506):引发了另一个异常:NoSuchMethodError: 对null调用了方法“[]” I/Flatter(13506):引发了另一个异常:NoSuchMethodError: 类“QuerySnapshot”没有实例方法“[
ListTile(
leading: new FutureBuilder(
future: Firestore.instance.collection('users').where('uid', isEqualTo: _post['imgurl']).getDocuments(),
builder: (BuildContext context, AsyncSnapshot snapshot){
if(snapshot.hasData){
if(snapshot.data != null){
print(snapshot.data['imgurl']);
return CircleAvatar(
backgroundImage: NetworkImage(snapshot.data['imgurl']),
);
}
}
},
),
title: Text('Richard');
)
你能告诉我哪里是我的错吗?你的
未来
会返回一个文档列表,而不仅仅是一个。您试图从文档
列表中获取文档的imageUrl
,而不是从一个列表中获取
您的snapshot.data
是一个文档列表,您可以在snapshot.data.documents
中找到它们
如果您只对一个文档感兴趣,我建议您将未来的更改为只返回一个文档的内容(例如获取第一个文档)
如果你想让你的未来保持原样
,只需从你的快照.data
中获取第一个文档并对其进行处理即可
目前我无法提供更多的例子,因为我无法从逻辑上做到这一点(我不在家),但如果我的建议不能帮助您解决问题,我可以提供一些给您 使用
Image.network(widget.snapshot.data['imgurl'])
下面是我如何处理这个问题的:
Card(
margin: EdgeInsets.symmetric(
horizontal: 10.0, vertical: 6.0),
elevation: 8.0,
child:
Image.network(
widget.ds.data['GraphImg'],
fit: BoxFit.contain,
), )
为我工作 是的,谢谢!我已经试过了。。但为什么总是这样显示消息:引发了另一个异常:构建函数返回null。引发了另一个异常:NoSuchMethodError:对null调用了方法“[]”。FadeInImage最适合加载网络映像,因为占位符将首先显示,直到显示正确的映像。您可以剪切数据库映像(裁剪的映像)。因此,在此之后,很容易理解您的代码错误。
FadeInImage.assetNetwork(
width: 50.0,
height: 50.0,
fit: BoxFit.cover,
image:ContentThumbnail.thumbnails[index],
placeholder: 'images/placeholder.jpg',),),