我想使用从服务器获取的数据来创建列表视图,我已经成功实现了获取,但是由于某些未知原因,我无法在屏幕上呈现任何内容。
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创建基于相同内容的列表图块时,屏幕上未呈现任何内容。 (在这里我应该得到的条目数与地图中的条目一样多)
我不了解该行为,控制台中也没有错误。
答案 0 :(得分:2)
这里您缺少退货声明
itemBuilder: (BuildContext context, int index) {
return ListTile(title: Text('HELLO'),
);
}),
或者简单地
itemBuilder: (BuildContext context, int index) => ListTile(title: Text('HELLO'));),