如何修复“ getter'length'在null上被调用

时间:2019-08-25 21:55:36

标签: flutter

我已经使用过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();
                                          }),
                                        );
                                      },
                                    ),
                                  ],
                                ),
                              ),
                            ],
                          ),
                        );
                      });
                })

我该如何解决?

1 个答案:

答案 0 :(得分:1)

由于Future构建器类将运行两次,因此最初的快照值为null。

所以解决方案是我们需要将条件if设置为条件。


if (snapshot.hasData)