当前位置: 首页 > 知识库问答 >
问题:

无效值:有效值范围为空:0)

归翔
2023-03-14
 FirebaseFirestore firestore = FirebaseFirestore.instance;

列出dataListWidget(AsyncSnapshot快照){return snapshot.data.docs[0].map((文档){return ListTile(标题:Text(文档[“Name]”),副标题:Text(文档[“City”]),;})。toList();}

//我的streamBuilder

StreamBuilder(流:firestore.collection('customers')。快照(),生成器:(上下文,快照){返回ListView(子项:dataListWidget(快照),;},)`

共有1个答案

凌宏大
2023-03-14

您刚刚启动的查询返回空表示它没有任何响应,并且没有检查您试图访问其第0个元素的任何条件。

你应该做这样的事

StreamBuilder(
  stream:firestore.collection('customers').snapshots(),
  builder:(context,snapshot){
    if(snapshot.hasData && !snapshot.hasError){
      return ListView(children: dataListWidget(snapshot),); 
    }
    return Container();
});

您的dataListWidget应该如下所示

List dataListWidget(AsyncSnapshot snapshot){
  if(snapshot.data.docs.isNotEmpty){
    return snapshot.data.docs[0].map((document) { 
      return ListTile( 
        title: Text(document["Name"]), subtitle: Text(document["City"]), 
        );
    }).toList();
  }
  else{
    return [Container()];
  }
}
 类似资料:
  • 我一直在尝试在listview生成器的末尾添加一个按钮。我试着做这个问题中建议的事情:Flutter:如何在ListView的末尾添加一个按钮小部件。包含其他类型小部件的生成器?。但如果我这样做,我会得到:“RangeError(index):无效值:不在包含范围0..49:50中 我试图寻找问题,也有这个问题,但我找不到一个答案,解决它。

  • 在这个应用程序中,我试图获得基于听事件的查询。如果数据库中有任何变化,移动屏幕中的数据将发生变化。下面是从数据库获取数据的代码。 我使用Gridview构建器显示数据。 我在上面代码的第9行中遇到错误。 即使quizStart()中的条件有效,我也会得到范围错误。 有人能帮我解决这个问题吗?

  • 当我在Kubuntu 17.04上使用Ionic 3安装了Java8时,我在签署一个Ionic android apk时遇到了这个错误 我得到的错误是: java版本 我已经安装了Android Studio,它运行良好,我测试了应用程序源代码,它在模拟器上运行没有问题。

  • 问题内容: 这是我对Alamofire的要求,对于某些要求它有时可以工作,但有时我会得到: 我已经读到这可能是由于无效的JSON引起的,但是响应是我在JSON验证程序中验证为有效的静态JSON字符串。它确实包含åö字符和一些HTML。 为什么有时会出现此错误? 问题答案: 我也面临同样的问题。我尝试而不是,它的工作。我猜这是与一起使用时的错误。

  • 问题内容: 目前,我正在尝试实现OSGI版本范围(针对另一个主题,但是我喜欢它们定义版本范围的方式)。但是,我很难在OSGI中找到版本范围的特定定义。 不幸的是,OSGI API确实包含Version类,但不包含VersionRange类。似乎所有OSGI容器都提出了自己的(某种程度上无法找到)版本范围定义的解释。 因此,我有几个问题: 如果使用,此映射是否会映射到Version> = 1.4.0

  • 我在颤振中使用了一个很长的列表。所有项目都呈现良好,但我也收到以下错误: 以下是我的代码: 下面是我的方法: 下面是我的方法: 以下是错误的屏幕截图: