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

flutter-方法[]在空时被调用

阎宝
2023-03-14

我一直在学习如何构建一个类似Instagram的社交媒体应用程序的教程,尽管我的代码与教程中的代码相同,但当我试图显示用户的帖子时,我得到了这个错误:

building FutureBuilder(脏,状态:_FutureBuilderState#0C840)引发了以下NosuchMethodeRor:方法“[]”是在NULL上调用的。接收者:null尝试调用:

  @override
  Widget build(BuildContext context) {
    return FutureBuilder(
      future: postsReference.document(userId).collection("usersPosts").document(postId).get(),
      builder: (context, dataSnapshot){
        if(!dataSnapshot.hasData){
          return circularProgress();
        }

        Post post = Post.fromDocument(dataSnapshot.data);
        return Center(
          child: Scaffold(
            appBar: header(context, strTitle: post.description),
            body: ListView(
              children: <Widget>[
                Container(
                  child: post,
                ),
              ],
            ),
          ),
        );
      },
    );
  }
  factory Post.fromDocument(DocumentSnapshot documentSnapshot){
    return Post(
      postId: documentSnapshot["postId"],
      ownerId: documentSnapshot["ownerId"],
      //postId: documentSnapshot["timestamp"],
      likes: documentSnapshot["likes"],
      username: documentSnapshot["username"],
      description: documentSnapshot["description"],
      location: documentSnapshot["location"],
      url: documentSnapshot["url"],
    );
  }

共有1个答案

沈冠宇
2023-03-14

尝试检查该值是否为null

if(dataSnapshot.data == null || !dataSnapshot.hasData){
  return circularProgress();
}
 类似资料:
  • 当我将其更改为list时,出现以下错误: 这里是我的小部件构建: 对于API、模型和其他函数,您可以在未处理的异常中检查我的另一篇文章:键入“\u InternalLinkedHashMap”

  • 我正试图将语音到文本的方法添加到我的应用程序中,以转换我的,但我有这个错误 所以有人能帮我吗!

  • 我需要一个简单的Java服务,它在系统启动时启动,并使用共享库与一些使用POSIX线程的功能。在实现JNI接口时,我遇到了一个问题,它不允许我从本地代码调用Java方法。GetMethodID()返回not NULL,所以我认为它做得很好。也没有任何可疑的错误可以帮助。所以我在log中添加了很多输出,并为此准备了一个简单的java测试。(下面列出了所有代码,但是project也可以在github的

  • 我构建了一个函数,用于将令牌存储在共享首选项中,然后在第一次运行应用程序时从服务器获取数据 生成AdminPage(dirty,state:AdminPageState#87BCD)时引发了以下NoSuchMethodError:Flutter:在Null时调用了方法“[]”.颤振:接收器:空颤振:尝试呼叫: 然后应用程序就可以正常工作了 附注。我的密码是 有什么不对劲的吗? 并且在调试模式下,错

  • 问题内容: 像这样:类具有一个称为sayHello()的方法。当该类的实例调用sayHello()时,另一个类中的方法会在调用sayHello()之前自动调用。 示例代码可以像这样: 输出结果: 似乎可以通过使用代理模式来完成。但我希望它可以更简单。 使用注释: 然后将MethodListener注释放在Person类中的方法sayHello()上, 调用具有MethodListener批注的方法