我正在try 开发一款Flutter 应用程序.这是一个带有一些网络视图的简单聊天apply.创建完所有后端和firebase新闻后,新用户就会出现.在应用程序中,信息不会显示在聊天中.当我试图go 聊天室时,我犯了这个错误.

NoSuchMethodError:getter"docs"被调用为null.

接收者:空

试过打电话:docs)

这是我的密码

class _ConversationScreenState extends State<ConversationScreen> {
  DatabaseMethods databaseMethods = new DatabaseMethods();
  TextEditingController messageController = new TextEditingController();

  Stream chatMessageStream;

  Widget ChatMessageList() {
    return StreamBuilder(
      stream: chatMessageStream,
      builder: (
        context,
        snapshot,
      ) {
        return ListView.builder(
            itemCount: snapshot.data.docs.lenght, //ERROR
            itemBuilder: (context, index) {
              return MessageTile(snapshot.data.docs[index].data["message"]); //ERROR
            });
      },
    );
  }

推荐答案

如果流尚未发出某些信息,则返回的快照可能为空.使用if判断器判断快照是否为空.

if(snapshot != null && snapshot.hasData){

    return ListView.builder(
        itemCount: snapshot.data.docs.length, //ERROR
        itemBuilder: (context, index) {
          return MessageTile(snapshot.data.docs[index].data["message"]); //ERROR
        });

}else {
   
  return Container();

}

Flutter相关问答推荐

类型int不是可迭代动态tmdbapi类型的子类型<>

try 在Flutter应用程序中传递变量到FirebaseFirestore Where子句

手势捕获的异常:类型';Double';不是类型转换中类型';Double';的子类型

如何创建一个按钮来在Ffltter Webview中转到上一页?

底部导航栏项目在抖动中不更改 colored颜色

将目标平台设置为Flutter 构建

video_player在Android上返回401 Unauthorized with Bunny CDN

为什么我的Flutter 动画过渡没有发生?

如何更改Flutter 中文本的混合模式?

了解多Provider 和流

我对 Flutter Apk 有疑问

ListView 后台可见

Flutter可滚动定位列表支持rtl方向吗?

如何让小部件根据小部件的大小构建不同的布局?

Flutter - 使用 pin 进行身份验证

在 Flutter 中更改高架按钮 OnPressed 的背景 colored颜色

扫描flutter生成的二维码后如何弹出文本字段值

主题:ThemeData() Flutter

更新未知文档 ID firebase\flutter 中的字段

在Flutter 中将数字转换为印度文字样式