Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/286.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter Future Builder处于ConnectionState.waiting状态时,颤振应用程序卡住_Flutter_Flutter Futurebuilder - Fatal编程技术网

Flutter Future Builder处于ConnectionState.waiting状态时,颤振应用程序卡住

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) {

我正在使用FlitterFutureBuilder和ListView,它显示从API加载的数据。 当Future Builder处于连接状态。等待时,应用程序会卡住

 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表示应用程序挂起。无法在等待状态下移动到其他屏幕提供完整代码。问题中没有关于导航的代码。