我已经使用过Future Builder,但仍然存在此问题
这是我的身体代码,我已经在使用将来的生成器,但是仍然有长度问题。我不明白。
FutureBuilder(
future: showPosts(),
builder: (context, snapshot) {
return ListView.builder(
itemCount: snapshot.data.length,
itemBuilder: (context, index) {
return Card(
color: Color(0xFFE1F5FE),
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
const ListTile(
leading: Image(
image:
AssetImage('images/pantai.jpg')),
title: Text('Pantai Nglambor'),
subtitle: Text('by Ahmad Thariq Syauqi'),
),
ButtonTheme.bar(
child: ButtonBar(
children: <Widget>[
FlatButton(
child: const Text('DETAILS'),
onPressed: () {
Navigator.push(
context,
MaterialPageRoute(builder:
(context) {
return DetailPost();
}),
);
},
),
],
),
),
],
),
);
});
})
我该如何解决?
答案 0 :(得分:1)
由于Future构建器类将运行两次,因此最初的快照值为null。
所以解决方案是我们需要将条件if设置为条件。
if (snapshot.hasData)