ScrollController не привязан ни к одному виду прокрутки - PullRequest
0 голосов
/ 31 августа 2018

Я использую CustomScrollView и предоставляю ему контроллер. ScrollController работает, я даже добавил слушателя и распечатал положение вида прокрутки.

CustomScrollView(
    controller: _scrollController,

Теперь все, что я пытаюсь сделать, это перейти в положение 50.0 внутри функции initState ().

_scrollController.jumpTo(50.0);

Но я получаю ошибку

scrollController не привязан ни к одному виду прокрутки

Ответы [ 3 ]

0 голосов
/ 23 июля 2019

Проверьте, присоединен ли scrollController к представлению прокрутки, сначала используя его свойство hasClients.

if (_scrollController.hasClients) 
    _scrollController.jumpTo(50.0);
0 голосов
/ 09 августа 2019

Я нашел рабочее решение, но, честно говоря, метод не лучшая практика, я полагаю. В моем случае controller.jumpTo () вызывался до того, как он был присоединен к любому представлению прокрутки. Чтобы решить проблему, я задержал несколько миллисекунд и затем вызвал .jumpTo (), потому что будет вызвана сборка и контроллер будет присоединен к любому представлению прокрутки.

Future.delayed(Duration(milliseconds: <some time, ex: 100>), () {
         _scrollController.jumpTo(50.0);
        });

Я полностью согласен, что это плохое решение, но оно может решить проблему.

0 голосов
/ 31 августа 2018

Чтобы установить начальную позицию ScrollController, используйте свойство initialScrollOffset:

_scrollController = ScrollController(initialScrollOffset: 50.0);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...