FutureBuilder 加载数据时无法显示圆形进度指示器

Den*_*ise 2 flutter

我正在尝试在 Future Builder 中加载数据时显示循环进度指示器,我尝试了两种方法来添加它,但是它们都不起作用。我怎样才能达到预期的结果?

我的代码



class _MyHomePageState extends State<MyHomePage>{

  @override MyHomePage get widget => super.widget;

 @override
  Widget build(BuildContext context){

//To show the ListView inside the Future Builder
     Widget createTasksListView(BuildContext context, AsyncSnapshot snapshot) {
     var values = snapshot.data;
     return  ListView.builder(
       itemCount: values == null ? 0 : values.length,
       itemBuilder: (BuildContext context, int index) {

         return values.isNotEmpty ? Ink(
          .....
         )  :  new CircularProgressIndicator();   //TRIED TO ADD CIRCULAR INDICATOR HERE 
       },
     );
   }


//Future Builder widget 
   Column cardsView = Column(
      children: <Widget>[...
        Expanded(
          child: FutureBuilder(
              future: //API CALL,
              initialData: [],
              builder: (context, snapshot) {
                if (!snapshot.hasData) return Center(child: CircularProgressIndicator());  //CIRCULAR INDICATOR
                return createTasksListView(context, snapshot);
              }),
        ),
      ],
   );
   return Scaffold(
      ...);
 }
}

Run Code Online (Sandbox Code Playgroud)

Mar*_*yns 10

尝试:

        FutureBuilder(
              future: //API CALL,
              initialData: [],
              builder: (context, snapshot) {
                if (!snapshot.hasData) 
                    return Center(child: CircularProgressIndicator());  //CIRCULAR INDICATOR
                else
                    return createTasksListView(context, snapshot);
              }),
        ),
Run Code Online (Sandbox Code Playgroud)

当 future 的值是一个空列表,即您的初始数据时,您将呈现一个包含 0 个项目的 ListView,因此您无法在其 itemBuilder 中呈现一个 CircularProgressIndicator。