ScrollController прикреплен к нескольким представлениям прокрутки при переходе на другую страницу - PullRequest
0 голосов
/ 05 мая 2020

Я хочу перейти к следующей странице после достижения нижней части ListView. Когда я перехожу в первый раз, он работает, но когда я пытаюсь снова, он не работает с этой ошибкой:

ScrollController attached to multiple scroll views.
Failed assertion: line 111 pos 12: '_positions.length == 1'

I прочитал пару сообщений, например, post1 , но не смог найти обходной путь.

Это моя реализация:

double previousScrollOffset = 0.0;

  ScrollController _controller;
  @override
  void initState() {
    // TODO: implement initState
    super.initState();



    _controller = ScrollController( initialScrollOffset: previousScrollOffset);

    _controller.addListener(() {

        if (_controller.position.atEdge) {
          if (_controller.position.pixels == 0) {
            // you are at the top
            print('You are at the top');
          } else {
            //bottom
//            previousScrollOffset = _controller.offset;
            Navigator.push(
              context,
              MaterialPageRoute(builder: (context) => CustomSwipeDownPage()),
            );
          }
        }

    });
  }

Тогда вот как я звоню это внутри ListView:

ListView(controller: _controller)

Какое решение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...