以下代码在调用和显示firestore中的数据时与我配合良好:

return ListView(
 padding: const EdgeInsets.only(top: 20.0),
 children: snapshot.map((data) => _buildListItem(context, data)).toList(),
);

但是,如果我try 将其放入一列中,因此在其上方添加另一个小部件,则会失败,并给出stack overflow:

return Column(
    children: <Widget>[
    Text('Hellow'),
  ListView(
  padding: const EdgeInsets.only(top: 20.0),
  children: snapshot.map((data) => _buildListItem(context, data)).toList(),
)]);

推荐答案

你需要把你的ListView放在一个Expanded小部件里,这样它就知道它能填满多少空间.

return Column(
    children: <Widget>[
      Text('Hellow'),
      Expanded(
        child: ListView(
          padding: const EdgeInsets.only(top: 20.0),
          children:
              snapshot.map((data) => _buildListItem(context, data)).toList(),
        ),
      ),
    ],
  );

Dart相关问答推荐

使用arm64v8/DART Docker映像进行编译时不支持DART镜像

Dart - 检测未完成的期货

ListView 不会刷新,而附加列表会刷新 (Flutter)

Flutter:Firebase 基本查询或基本搜索代码

在 Dart/Flutter 中创建 DateTime 对象时如何指定 TimeZone?

如何在 Dart 中设置文本框的值?

在Flutter中解析 JSON 到 Map

如何在 Flutter 中忽略整个文件的 lint 规则?

Flutter热重新加载和热重启不工作

访问用户环境变量

我如何在屏幕上弹出特定的Flutter

Flutter ToggleButton 类 - Flutter 1.9.1

无法导入 dart 的 intl 包

在 Dart 中实现观察者模式

Dart null 安全性不适用于类字段

您可以将命名参数与简写构造函数参数结合起来吗?

Dart 中的 final 修饰符有什么作用?

如何在抽象类中声明工厂构造函数?

学习 Dart 好还是我必须使用基本的 javascript?

如何在 Dart 中读取控制台输入/标准输入?