CupertinoSliverRefreshControl不显示SliverFillRemaining是否包含ListView

问题描述

我试图通过Flutter使用Cupertino Style Refresh,但是,每次加载ListView时,CupertinoSliverRefreshControl均不会显示。任何线索如何解决这个问题?还是这实际上是一个错误

我也在尝试将ListView更改为Extended-wrapped Column,但这会触发Flutter异常

Column(
  children: [
    CustomApplicationBar(
        Padding(
          padding: EdgeInsets.only(
              top: 5,bottom: 5
          ),child: Row(
            crossAxisAlignment: CrossAxisAlignment.center,children: [
              IconButton(
                icon: Icon(Icons.menu),onpressed: () {
                  _drawerKey.currentState.openDrawer();
                },)
            ],),Text("The New Zoom BETA")
    ),Flexible(
      child: CustomScrollView(
        slivers: [
          CupertinoSliverRefreshControl(
            onRefresh: refreshNote,SliverFillRemaining(
            child: Container(
              child: NotificationListener(
                child: ListView(
                    controller: _scrollController,children: [
                      stockTile,Container(
                          margin: EdgeInsets.only(
                              top: 20
                          ),child: Padding(
                              padding: EdgeInsets.only(
                                  left: 15,right: 15,bottom: 5
                              ),child: Text("Near-Due Task",style: TextStyle(
                                    fontSize: 20,fontFamily: "Quicksand",fontWeight: FontWeight.w500,color: Color.fromrGBO(207,12,1)
                                ),)
                          )
                      ),notesClose,// contains Container and Listviewbuilder
                      Container(
                          margin: EdgeInsets.only(
                              top: 20
                          ),child: Text("All Tasks",listView2 != null? Container(
                          child: ListView.builder(
                            shrinkWrap: true,itemCount: listView2.length,physics: NeverScrollableScrollPhysics(),itemBuilder: (BuildContext context,int index) {
                              return Container(
                                margin: EdgeInsets.only(
                                    left: 15,right: 15
                                ),child: Card(
                                    elevation: 1,child: InkWell(
                                        onTap: () {
                                          Navigator.push(
                                              context,MaterialPageRoute(
                                                  builder: (context) => DetailNote(listView2[index])
                                              )
                                          ).then((value) {
                                            refreshNote();
                                          });
                                        },child: Padding(
                                            padding: EdgeInsets.all(10),child: Column(
                                              crossAxisAlignment: CrossAxisAlignment.start,children: [
                                                Text(
                                                    listView2[index].task.toString().length > 150 ?
                                                    listView2[index].task.toString().substring(0,150)+"..." :
                                                    listView2[index].task.toString()
                                                ),Divider(
                                                  height: 30,Row(
                                                  mainAxisAlignment: MainAxisAlignment.end,children: [
                                                    Text("Task Due "+
                                                        DateFormat('dd MMMM yyyy').format(DateTime.parse(listView2[index].dueDate.toString()))
                                                    )
                                                  ],)
                                              ],)
                                        )
                                    )
                                ),);
                            },)
                      ) : Container(
                          child: CircularProgressIndicator()
                      )
                    ]
                ),onNotification: (notification) {
                  if (notification is ScrollUpdateNotification) {
                    if (!isLoading && _scrollController.offset >= _scrollController.position.maxScrollExtent) {
                      updateNotes();
                    }
                  }
                  return false;
                },)
        ],)
    )
  ],)

如果包含ListView:

Contain ListView

如果不包含ListView:

Did not contain ListView

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...