Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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 如何在颤振中不使用futurebuilder处理加载和完成_Flutter_Async Await_Future - Fatal编程技术网

Flutter 如何在颤振中不使用futurebuilder处理加载和完成

Flutter 如何在颤振中不使用futurebuilder处理加载和完成,flutter,async-await,future,Flutter,Async Await,Future,我无法通过示例中的方法区分两种不同的情况。如何处理加载和完成情况 //async method void list() { databaseHelper.list().then((records) { setState(() { _recordList = records; }); }); } 我希望在加载列表之前显示Circu

我无法通过示例中的方法区分两种不同的情况。如何处理加载和完成情况

//async method   

     void list() {
            databaseHelper.list().then((records) {
             setState(() {
              _recordList = records;
             });
            });
          }

我希望在加载列表之前显示CircularProgressIndicator(),但如果列表为空,我希望显示“无记录”


不使用futurebuilder怎么办?

您可以使用值null或0来处理它

void list() {
  _recordList = null;
            databaseHelper.list().then((records) {
             setState(() {
              _recordList = records;
             });
            });
          }
但是当他们没有发现任何记录时,void list必须返回一个新的list()

_recordList == null ? new new CircularProgressIndicator() : 
_recordList.length > 0
 ? ListView.builder(
     itemCount: _recordList.length,
     itemBuilder: (context, index) {
     return {....}                          
   })
   : Center(
       child: Text("No Record"),
     ),

太好了@流动。我尝试过这个,但没有成功,因为我没有将列表设置为null<代码>\u记录列表=空
_recordList == null ? new new CircularProgressIndicator() : 
_recordList.length > 0
 ? ListView.builder(
     itemCount: _recordList.length,
     itemBuilder: (context, index) {
     return {....}                          
   })
   : Center(
       child: Text("No Record"),
     ),