Flutter Future Builder处于ConnectionState.waiting状态时,颤振应用程序卡住
我正在使用FlitterFutureBuilder和ListView,它显示从API加载的数据。 当Future Builder处于连接状态。等待时,应用程序会卡住Flutter Future Builder处于ConnectionState.waiting状态时,颤振应用程序卡住,flutter,flutter-futurebuilder,Flutter,Flutter Futurebuilder,我正在使用FlitterFutureBuilder和ListView,它显示从API加载的数据。 当Future Builder处于连接状态。等待时,应用程序会卡住 FutureBuilder<List<int>>( future: totals, builder: (BuildContext context, AsyncSnapshot<List<int>> snapshot) {
FutureBuilder<List<int>>(
future: totals,
builder: (BuildContext context, AsyncSnapshot<List<int>> snapshot) {
switch (snapshot.connectionState) {
case ConnectionState.none: return new Text('Press button to start');
case ConnectionState.active:
case ConnectionState.waiting: return new Text('Awaiting result...');
case ConnectionState.done:
if (snapshot.hasError)
return new Text('Error: ${snapshot.error}');
else
return RefreshIndicator(
onRefresh: _refresh,
child: ListView(
children: [
Column(
children: [
Text("Total Confirmed : ${snapshot.data[0]}"),
Text("Total Active : ${snapshot.data[1]}"),
Text("Today Confirmed : ${snapshot.data[2]}"),
],
),
],
)
);
break;
default:
return null;
}
},
)
Future<List<int>> totals;
void initState() {
super.initState();
totals=_fetchtotals();
}
Future<void> _refresh() async{
totals=_fetchtotals();
}
Future<List<int>> _fetchtotals() async {
//loading data from API and returning
return totals;
}
FutureBuilder(
未来:总数,
生成器:(BuildContext上下文,异步快照){
交换机(快照.连接状态){
case ConnectionState.none:返回新文本(“按下按钮开始”);
案例连接状态.active:
case ConnectionState.waiting:返回新文本('waiting result…');
案例连接状态。完成:
if(snapshot.hasError)
返回新文本('Error:${snapshot.Error}');
其他的
返回刷新指示器(
onRefresh:\u refresh,
子:ListView(
儿童:[
纵队(
儿童:[
文本(“已确认总数:${snapshot.data[0]}”),
Text(“活动总量:${snapshot.data[1]}”),
文本(“今天确认:${snapshot.data[2]}”),
],
),
],
)
);
打破
违约:
返回null;
}
},
)
未来总数;
void initState(){
super.initState();
总计=_fetchtotals();
}
Future\u refresh()异步{
总计=_fetchtotals();
}
Future\u fetchtotals()异步{
//从API加载数据并返回
返回总数;
}
你好。你说的卡住到底是什么意思?默认情况下,FutureBuilder
是异步的,当应用程序处于等待状态时,它应该不会对应用程序产生任何影响。@NISCHERDY STACK表示应用程序挂起。无法在等待状态下移动到其他屏幕提供完整代码。问题中没有关于导航的代码。