Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/9.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.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 颤振-滚动控制器未被监听_Flutter_Dart - Fatal编程技术网

Flutter 颤振-滚动控制器未被监听

Flutter 颤振-滚动控制器未被监听,flutter,dart,Flutter,Dart,我正在颤振中进行分页,而scrollController.addListener不工作。它没有给我任何错误 这是代码 void initState() { super.initState(); _getContacts(); _scrollController.addListener( () { double maxScroll = _scrollController.position.maxScrollExtent; do

我正在颤振中进行分页,而scrollController.addListener不工作。它没有给我任何错误

这是代码

  void initState() {
    super.initState();
    _getContacts();
    _scrollController.addListener(
      () {
        double maxScroll = _scrollController.position.maxScrollExtent;
        double currentScroll = _scrollController.position.pixels;
        double delta = MediaQuery.of(context).size.height * 0.25;

        if (maxScroll - currentScroll < delta) {
          _getMoreContacts();
        }
      },
    );
  }
void initState(){
super.initState();
_getContacts();
_scrollController.addListener(
() {
double maxScroll=\u scrollController.position.maxScrollExtent;
双currentScroll=\u scrollController.position.pixels;
double delta=MediaQuery.of(context).size.height*0.25;
如果(maxScroll-currentScroll<增量){
_getMoreContacts();
}
},
);
}
以下是在scrollController.AddListener中调用的代码

 _getMoreContacts() async {
    print('getting more contacts called');
    if (_moreContactsAvailable == false) {
      print('no more contacts');
      return;
    }

    if (_gettingMoreContacts == true) {
      return;
    }
    _gettingMoreContacts = true;
    Query q = firestore
        .collection('Phonebook')
        .orderBy('name')
        .startAfter([_lastDocument.data()['name']]).limit(_perPage);
    QuerySnapshot querySnapshot = await q.get();

    if (querySnapshot.docs.length < _perPage) {
      _moreContactsAvailable = false;
    }
    _lastDocument = querySnapshot.docs[querySnapshot.docs.length - 1];
    contacts.addAll(querySnapshot.docs);
    setState(() {});
    _gettingMoreContacts = false;
  }
\u getMoreContacts()异步{
打印(“获取更多呼叫的联系人”);
if(_morecontsavaailable==false){
打印(“不再有联系人”);
返回;
}
如果(_gettingMoreContacts==true){
返回;
}
_gettingMoreContacts=true;
查询q=firestore
.collection('电话簿')
.orderBy('名称')
.startAfter([\u lastDocument.data()['name']]).limit(\u每页);
QuerySnapshot QuerySnapshot=等待q.get();
if(querySnapshot.docs.length<\u每页){
_moreContactsAvailable=错误;
}
_lastDocument=querySnapshot.docs[querySnapshot.docs.length-1];
contacts.addAll(querySnapshot.docs);
setState((){});
_gettingMoreContacts=false;
}

必须将
控制器
分配给一些滚动小部件,如
列表视图
网格视图

例如:

    ListView(
          controller: _scrollController,

将控制器分配给相应的滚动窗口小部件,这样就可以了。

必须将
控制器
分配给一些滚动窗口小部件,如
列表视图
网格视图

例如:

    ListView(
          controller: _scrollController,

将控制器分配给相应的滚动小部件,那么这应该可以工作。

我已经将其分配给listview,滚动工作正常,但当涉及分页时,scrollcontroller.addListener在initstate函数中不工作。我已经编辑了问题,我已经添加了在_scrollController.addListenerus addListener()中被调用的代码,在滚动时被调用?这是主要的问题put print语句和check是的,我这样做了,但它没有打印语句。check我已经将其分配给listview,滚动工作正常,但当涉及分页时_scrollcontroller.addListener在initstate函数中不起作用。我已经编辑了问题,我已经添加了在_scrollController.addListenerus addListener()中被调用的代码,在滚动时被调用?这是主要的问题,把打印语句和检查是的,我这样做了,它没有打印语句。检查你初始化了吗_scrollController=scrollController();你初始化了吗_scrollController=scrollController();