我正在尝试使用futurebuilder从数据库中获取数据,然后将其加载到屏幕上之后在屏幕上显示。目前,我的futurebuilder在build方法中,但是它会创建一个无限循环。
这是我构建的内容:
try {
initUser();
initRead();
return Scaffold(
body: new SingleChildScrollView(
child: Container(
padding: EdgeInsets.all(16.0),
child: FutureBuilder(
future: _read(),
builder: (BuildContext context, snapshot) {
List<Widget> children;
if (snapshot.hasData && !snapshot.hasError) {
children = <Widget>[showImage()];
} else {
children = <Widget>[
_showCircularProgress(),
];
}
return Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: children,
),
);
}),
),
),
);
} catch (e) {
print(e.toString());
return Container();
}
我如何使用此FutureBuilder来检查_read()
何时完成而又不会出现此无限循环?谢谢!
if (snapshot.hasData && !snapshot.hasError)
行中,请尝试将其包括在内