Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.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
Flutter 即使Firestore有数据,Flatter Firestore getter文档也为空_Flutter_Google Cloud Firestore - Fatal编程技术网

Flutter 即使Firestore有数据,Flatter Firestore getter文档也为空

Flutter 即使Firestore有数据,Flatter Firestore getter文档也为空,flutter,google-cloud-firestore,Flutter,Google Cloud Firestore,我正在尝试一个flutter应用程序,在这个应用程序中,我需要从一个名为“来自Firestore的新闻”的集合中读取所有文档,并将其放入列表生成器中 class _CategoriesState extends State<Categories> { Future<QuerySnapshot> getcat() { return fb.collection("News").get(); } @override Widget

我正在尝试一个flutter应用程序,在这个应用程序中,我需要从一个名为“来自Firestore的新闻”的集合中读取所有文档,并将其放入列表生成器中

class _CategoriesState extends State<Categories> {
  Future<QuerySnapshot> getcat() {
    return fb.collection("News").get();
  }


  @override
  Widget build(BuildContext context) {
    return Scaffold(
      //appBar: Myappbar(),
      //drawer: navigationDrawer(),
      body: Container(
        padding: EdgeInsets.all(10.0),
        child: FutureBuilder(
          future: getcat(),
          builder: (context, AsyncSnapshot<QuerySnapshot> snapshot) {
            if (snapshot.connectionState == ConnectionState.done) {
              return ListView.builder(
                  scrollDirection: Axis.vertical,
                  physics: BouncingScrollPhysics(),
                  shrinkWrap: true,
                  itemCount: snapshot.data.docs.length,
                  itemBuilder: (BuildContext context, int index) {
                    return Card(
                      child: ExpansionTile(
                        title: Text(snapshot.data.docs[index].data()["Title"]),
                     
                      ),
                    );
                  });
            } else if (snapshot.connectionState == ConnectionState.none) {
              return Text("No data");
            }
            return CircularProgressIndicator();
          },
        ),
      ),
    );
  }
}
class\u分类状态扩展状态{
未来的getcat(){
返回fb.collection(“News”).get();
}
@凌驾
小部件构建(构建上下文){
返回脚手架(
//appBar:Myappbar(),
//抽屉:导航抽屉(),
主体:容器(
填充:所有边缘设置(10.0),
孩子:未来建设者(
future:getcat(),
生成器:(上下文,异步快照){
if(snapshot.connectionState==connectionState.done){
返回ListView.builder(
滚动方向:轴垂直,
物理:弹跳CrollPhysics(),
收缩膜:对,
itemCount:snapshot.data.docs.length,
itemBuilder:(构建上下文,int索引){
回程卡(
子文件:扩展文件(
标题:文本(snapshot.data.docs[index].data()[“title”]),
),
);
});
}else if(snapshot.connectionState==connectionState.none){
返回文本(“无数据”);
}
返回循环ProgressIndicator();
},
),
),
);
}
}
这是我正在使用的代码 我的火炉店

我犯了一个错误

生成FutureBuilder时抛出以下NoSuchMethodError(脏,状态:_FutureBuilderState#25db8): 对null调用了getter“docs”。 收件人:空 试着打电话给医生

导致错误的相关小部件是: 未来建设者file:///Users/raviteja/Documents/IND/bubbleburst/lib/main.dart:171:16 引发异常时,这是堆栈: #0 Object.noSuchMethod(省道:核心补片/对象补片。省道:54:5) #1_CategoriesState.build。(包装:bubbleburst/main.省道:179:44) #2_FutureBuilderState.build(包:flatter/src/widgets/async.dart:773:55) #3 StatefulElement.build(包:flatter/src/widgets/framework.dart:4612:27) #4 ComponentElement.performRebuild(包:flatter/src/widgets/framework.dart:4495:15)

更改

  if (snapshot.connectionState == ConnectionState.done)
致:

这将在查询完成但没有数据时防止错误,如您的情况

如果您编写的是“news”而不是“news”,或者您的
getcat()
实际上正在返回数据,那么您还必须检查查询的拼写

  if (snapshot.connectionState == ConnectionState.done && snapshot.hasData)