列表视图生成器无法呈现任何内容

时间:2019-06-12 07:58:51

标签: flutter dart

我想使用从服务器获取的数据来创建列表视图,我已经成功实现了获取,但是由于某些未知原因,我无法在屏幕上呈现任何内容。

      import 'package:flutter/material.dart';

      class Activity extends StatefulWidget {
        Map<String, dynamic> livefeed;

        Activity(this.livefeed);

        @override
        State<StatefulWidget> createState() {
          // TODO: implement createState

          return ActivityState();
        }
      }

      class ActivityState extends State<Activity> {
        @override
        Widget build(BuildContext context) {
          return Stack(
            children: <Widget>[
              Column(
                children: <Widget>[
                  //Text(widget.livefeed.toString()),
                  //Text(widget.livefeed.length.toString()),
                  widget.livefeed != null
                      ? Expanded(
                          child: ListView.builder(
                              itemCount: widget.livefeed.length,
                              itemBuilder: (BuildContext context, int index) {
                                ListTile(
                                  title: Text('HELLO'),
                                );
                              }),
                        )
                      : Text('LOADING'),
                ],
              ),
            ],
          );
        }
      }

我已经注释掉了在屏幕上成功打印获取的数据的部分。之后,当我使用Listview.Builder创建基于相同内容的列表图块时,屏幕上未呈现任何内容。 (在这里我应该得到的条目数与地图中的条目一样多)

我不了解该行为,控制台中也没有错误。

1 个答案:

答案 0 :(得分:2)

这里您缺少退货声明

itemBuilder: (BuildContext context, int index) {
    return ListTile(title: Text('HELLO'),
    );
}),

或者简单地

itemBuilder: (BuildContext context, int index) => ListTile(title: Text('HELLO'));),