【问题标题】:A non-null String must be provided to a Text widget. 'package:flutter/src/widgets/text.dart': Failed assertion: line 370 pos 10: 'data != null'必须向 Text 小部件提供非空字符串。 'package:flutter/src/widgets/text.dart':断言失败:第 370 行 pos 10:'data != null'
【发布时间】:2020-11-21 10:01:05
【问题描述】:

import 'package:cloud_firestore/cloud_firestore.dart';


class ChatScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: StreamBuilder(
          stream: Firestore.instance
              .collection('chats/qlxlom4AuKMJNjSo3w4a/messages')
              .snapshots(),
          builder: (ctx, streamSnapShot) {
            if (streamSnapShot.connectionState == ConnectionState.waiting) {
              return Center(
                child: CircularProgressIndicator(),
              );
            }
            final documents = streamSnapShot.data.documents;
            return ListView.builder(
              itemCount: documents.length,
              itemBuilder: (ctx, i) => Container(
                padding: EdgeInsets.all(8),
                child: Text(documents[i]['text']),
              ),
            );
          }),
      floatingActionButton: FloatingActionButton(
        child: Icon(Icons.add),
        onPressed: () {
          Firestore.instance
              .collection('chats/qlxlom4AuKMJNjSo3w4a/messages')
              .add({'text': 'this was addded bi clicking the button!'});
        },
      ),
    );
  }
}


【问题讨论】:

  • 请附上问题的描述。您的错误消息提到第 370 行,请说明代码中的哪一行。

标签: firebase flutter google-cloud-firestore runtime-error


【解决方案1】:

您的文档[i]['text'] 为空,并且文本小部件需要一个字符串参数。使用前请检查并设置默认值。它看起来像这样:

Text(documents[i]['text'] ?? 'Text is null')

【讨论】:

    猜你喜欢
    • 2020-12-15
    • 2022-01-23
    • 2023-03-24
    • 2021-07-26
    • 1970-01-01
    • 2019-12-09
    • 1970-01-01
    • 2020-11-21
    • 2020-11-18
    相关资源
    最近更新 更多