Flutter 第26行第14位:';网址!=空';:事实并非如此

Flutter 第26行第14位:';网址!=空';:事实并非如此,flutter,Flutter,我在从Firebase读取一些数据时遇到问题。它给了我上面提到的错误。我检查了图标链接,他们有图像,这变得非常有趣,因为我只能阅读车辆数据库中的第一辆车。下面是我的汽车类以及数据库API。 飞镖 import 'package:flutter/material.dart'; import 'package:gerente_loja/core/services/api.dart'; class BrandsScreens extends StatelessWidget { @override

我在从Firebase读取一些数据时遇到问题。它给了我上面提到的错误。我检查了图标链接,他们有图像,这变得非常有趣,因为我只能阅读车辆数据库中的第一辆车。下面是我的汽车类以及数据库API。 飞镖

import 'package:flutter/material.dart';
import 'package:gerente_loja/core/services/api.dart';
class BrandsScreens extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: FutureBuilder(
          future: Api('vehicle').getDataColletions(),
            builder: (context, snapshot){
              if (!snapshot.hasData){
                return Container(
                  alignment: Alignment.center,
                  child: CircularProgressIndicator(
                    valueColor: AlwaysStoppedAnimation<Color>(
                        Colors.green),
                  ),
                );
              }
              else {
                return ListView.builder(
                    itemCount: snapshot.data.documents.length,
                    itemBuilder: (BuildContext context, int index){
                      return Container(
                        child: InkWell(
                          child: Card(
                            child: ListTile(
                              leading: AspectRatio(
                                aspectRatio: 0.8,
                                child: Image.network(
                                  snapshot.data.documents[index]['icon'],
                                  height: 500,
                                  //width: 300,
                                  fit: BoxFit.contain,
                                )
                              ),
                              title: Text(snapshot.data.documents[index]['make']),
                            ),
                          ),
                        ),
                      );
                    },
                  );
              }
            }
        ),
      ),
    );
  }
}

导入“包装:颤振/材料.省道”;
导入“包:gerente_loja/core/services/api.dart”;
类BrandsScreens扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:中(
孩子:未来建设者(
未来:Api(“车辆”).GetDataCollections(),
生成器:(上下文,快照){
如果(!snapshot.hasData){
返回容器(
对齐:对齐.center,
子对象:循环压缩机指示器(
valueColor:始终停止动画(
颜色(绿色),
),
);
}
否则{
返回ListView.builder(
itemCount:snapshot.data.documents.length,
itemBuilder:(构建上下文,int索引){
返回容器(
孩子:InkWell(
孩子:卡片(
孩子:ListTile(
领先:AspectRatio(
方面:0.8,
孩子:Image.network(
snapshot.data.documents[索引]['icon'],
身高:500,
//宽度:300,
适合:BoxFit.contain,
)
),
标题:文本(快照.数据.文档[索引]['make']),
),
),
),
);
},
);
}
}
),
),
);
}
}
Api.dart

import 'package:cloud_firestore/cloud_firestore.dart';
import 'dart:async';

class Api {
  final Firestore _db = Firestore.instance;
  final String path;
  CollectionReference ref;
  Api (this.path){
    ref = _db.collection(path);
  }
  Future<QuerySnapshot> getDataColletions(){
    return ref.getDocuments();
  }
  Stream<QuerySnapshot> streamDataCollection(){
    return ref.snapshots();
  }

  Future<DocumentSnapshot> getDocumentById(String id){
    return ref.document(id).get();
  }
  Future<DocumentSnapshot>removeDocumentById(String id){
    ref.document(id).delete();
  }
  Future<void> updateDocument(Map data, String id){
    return ref.document(id).updateData(data);
  }
  Future<DocumentReference>addDocument(Map data){
    return ref.add(data);
  }
}
import'包:cloud_firestore/cloud_firestore.dart';
导入“dart:async”;
类Api{
final Firestore _db=Firestore.instance;
最终字符串路径;
收集参考文献;
Api(this.path){
ref=_db.collection(路径);
}
未来的GetDataCollections(){
返回参考getDocuments();
}
streamDataCollection()流{
返回参考快照();
}
未来的getDocumentById(字符串id){
返回ref.document(id).get();
}
FutureremoveDocumentById(字符串id){
参考文件(id).delete();
}
未来更新文档(地图数据、字符串id){
返回参考文件(id).updateData(数据);
}
FutureaddDocument(地图数据){
返回参考添加(数据);
}
}
这也是我在屏幕上看到的。

我可以看到查询文档上的信息。但是,它不会显示在手机上。

问题出在我的数据库中,指向其中一个字段的链接出错。我必须访问所有这些文档并对其进行更改。

文档结构如何?似乎
快照.data.documents[index]
中不存在
图标
。你不能调试它吗?@ClaudioRedi我只是把我收藏的结构放在你可以点击的位置(我收藏的结构)以及手机输出上,这样你就可以看到结果了。我只是觉得奇怪,因为第一个元素正确地获取了数据。但是,对于其他人来说,根本没有任何收获。如果您调试和探索
快照.data.documents[index]
,您会看到什么?@ClaudioRedi我可以看到快照中的信息。但是,数据.documents[index]不会显示在屏幕上。请查看上面的查询文档结果。