Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase 颤振错误:类型';字符串';不是类型为';列表<;动态>';内铸_Firebase_Flutter_Google Cloud Firestore - Fatal编程技术网

Firebase 颤振错误:类型';字符串';不是类型为';列表<;动态>';内铸

Firebase 颤振错误:类型';字符串';不是类型为';列表<;动态>';内铸,firebase,flutter,google-cloud-firestore,Firebase,Flutter,Google Cloud Firestore,我想从firestore获取图像数组,但出现以下错误: 我的错误: 类型“String”不是类型转换中类型“List”的子类型 代码: Widget build(BuildContext context) { return Scaffold( body: StreamBuilder<QuerySnapshot>( stream: _store.load_item(), builder: (context, snapshot) { if (s

我想从firestore获取图像数组,但出现以下错误:

我的错误: 类型“String”不是类型转换中类型“List”的子类型

代码:

Widget build(BuildContext context) {
return Scaffold(
  body: StreamBuilder<QuerySnapshot>(
      stream: _store.load_item(),
      builder: (context, snapshot) {
        if (snapshot.hasData) {
          List<Item> _item = [];
          for (var doc in snapshot.data.docs) {
            var data = doc.data();

            _item.add(Item(
                admin_id: data['admin_id'],
                item_id: data['item_id'],
                item_description: data['item_description'],
                item_price: data['item_price'],
                images: List.from(data['images'])));
          }
          return GridView.builder(
            itemCount: _item.length,
            gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
                crossAxisCount: 2),
            itemBuilder: (context, index) {
              return Stack(children: [
                Image(image: NetworkImage(_item[index].images.toString()))
              ]);
            },
          );
        } else {
          return Center(child: Text("Loading....."));
        }
      }),
);
小部件构建(构建上下文){
返回脚手架(
正文:StreamBuilder(
流:_store.load_item(),
生成器:(上下文,快照){
if(snapshot.hasData){
列表_项=[];
for(snapshot.data.docs中的var文档){
var data=doc.data();
_项目。添加(项目(
管理员id:data['admin\u id'],
item_id:数据['item_id'],
项目描述:数据[“项目描述”],
项目价格:数据[“项目价格”],
图片:List.from(数据['images']);
}
返回GridView.builder(
itemCount:_item.length,
gridDelegate:SliverGridDelegateWithFixedCrossAxisCount(
交叉轴计数:2),
itemBuilder:(上下文,索引){
返回堆栈(子级:[
图像(图像:NetworkImage(\u项[index].images.toString())
]);
},
);
}否则{
返回中心(子项:文本(“加载…”);
}
}),
);

}

这导致了您的问题:

images: List.from(data['images'])));

您收到的不是列表,而是字符串。确保它是firebase中的一个列表。

它的列表,但我的代码正确吗?如果它确实是一个列表,那么它是正确的。
print('data['images'])
的输出是什么?