在 null 上调用了方法 'animateToPage'

The method 'animateToPage' was called on null

我正在尝试克隆 Instagram,但导航栏无法导航,但它通过我显示了一个错误方法 'animateToPage' 在 null 上被调用。

这是它的代码

 Scaffold  buildHomeScreen(){
    return Scaffold(
      body: PageView(
        children: <Widget>[
          TimeLinePage(),
          SearchPage(),
          UploadPage(),
          NotificationsPage(),
          ProfilePage(),

        ],
        controller: pageController,
        onPageChanged: whenPageChanges,
        physics: NeverScrollableScrollPhysics(),
      ),
      bottomNavigationBar: CupertinoTabBar(
        currentIndex: getPageIndex,
        onTap: onTapChangePage,
        backgroundColor: Theme.of(context).accentColor,
        activeColor: Colors.white,
        inactiveColor: Colors.blueGrey,
        items: [
          BottomNavigationBarItem(icon: Icon(Icons.home)),
          BottomNavigationBarItem(icon: Icon(Icons.search)),
          BottomNavigationBarItem(icon: Icon(Icons.photo_camera, size: 37.0,)),
          BottomNavigationBarItem(icon: Icon(Icons.favorite)),
          BottomNavigationBarItem(icon: Icon(Icons.person)),


        ],
      ),

    );

这些是我使用的方法

 whenPageChanges(int pageIndex){
    setState(() {
      this.getPageIndex = pageIndex;
    });

  }
  onTapChangePage(int pageIndex){
    pageController.animateToPage(pageIndex, duration:Duration(milliseconds: 300), curve: Curves.bounceInOut);
  }

您确定 pageController 在正确的位置初始化了吗?您还需要记住在 dispose 中取消它。 显示您创建控制器的代码部分。