Невозможно перейти к следующей странице PageView - PullRequest
0 голосов
/ 11 марта 2020

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

"Метод 'animateToPage' был вызван на ноль. Приемник: ноль Пробный вызов: animateToPage (1, кривая: экземпляр 'Cubi c', длительность: экземпляр 'Продолжительность ') "

Вот что я звоню:

 PageView.builder(
                        itemBuilder: (context, i) {
                          return _prodctReview2(context, i);
                        },
                        itemCount: currentReview.order.orderDetails.length,
                        controller: _pageController,
                      )

Вот функция, которую я вызываю:

 Future nextPage(i) async {
    var next = currentPageValue + 1;

    print(i);

    if (i == currentReview.order.orderDetails.length) {
      Navigator.push(
          context,
          MaterialPageRoute(
              builder: (context) => DriverReviewPage(
                    currentReview: recommendedProducts[i],
                  )));
    } else {
      _pageController.jumpToPage(
        next,
      );
    }
  }

Когда я вызываю функцию I получить эту ошибку

Необработанное исключение: NoSuchMethodError: Метод jumpToPage был вызван для нуля. Получатель: null Пробный вызов: jumpToPage (1)

Я не уверен почему, потому что страницы прикреплены.

1 Ответ

1 голос
/ 11 марта 2020

В соответствии с ошибкой, возможно, _pageController не инициализирован должным образом. Например, в виджете с состоянием необходимо инициализировать переменную _pageController в методе initState.

@override
void initState(){
    _pageController = PageController(initialPage: 0);
}
...