Flutter ';positions.isNotEmpty';:在使用PageController.page生成页面视图之前,无法访问该页面。旋转木马颤振

Flutter ';positions.isNotEmpty';:在使用PageController.page生成页面视图之前,无法访问该页面。旋转木马颤振,flutter,dart,Flutter,Dart,我正在尝试调用BottomNavigationBar中的列表((位于构建(BuildContext上下文)小部件外部)。该列表包含一个有状态的小部件(包含旋转木马幻灯片)。因此,每当我重新运行我的项目并滚动页面时,我就会发现这个错误不断出现 E/flutter ( 6022): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: 'package:flutter/src/widgets/page_view.dart'

我正在尝试调用BottomNavigationBar中的列表((位于构建(BuildContext上下文)小部件外部)。该列表包含一个有状态的小部件(包含旋转木马幻灯片)。因此,每当我重新运行我的项目并滚动页面时,我就会发现这个错误不断出现

E/flutter ( 6022): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: 'package:flutter/src/widgets/page_view.dart': Failed assertion: line 180 pos 7: 'positions.isNotEmpty': PageController.page cannot be accessed before a PageView is built with it.
E/flutter ( 6022): #0      _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:42:39)
E/flutter ( 6022): #1      _AssertionError._throwNew (dart:core-patch/errors_patch.dart:38:5)
E/flutter ( 6022): #2      PageController.page (package:flutter/src/widgets/page_view.dart:180:7)
E/flutter ( 6022): #3      CarouselState.initState.<anonymous closure> (package:carousel_pro/src/carousel_pro.dart:110:24)
E/flutter ( 6022): #4      _rootRunUnary (dart:async/zone.dart:1192:38)
E/flutter ( 6022): #5      _CustomZone.runUnary (dart:async/zone.dart:1085:19)
E/flutter ( 6022): #6      _CustomZone.runUnaryGuarded (dart:async/zone.dart:987:7)
E/flutter ( 6022): #7      _CustomZone.bindUnaryCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1024:26)
E/flutter ( 6022): #8      _rootRunUnary (dart:async/zone.dart:1196:13)
E/flutter ( 6022): #9      _CustomZone.runUnary (dart:async/zone.dart:1085:19)
E/flutter ( 6022): #10     _CustomZone.bindUnaryCallback.<anonymous closure> (dart:async/zone.dart:1008:26)
E/flutter ( 6022): #11     _Timer._runTimers (dart:isolate-patch/timer_impl.dart:398:19)
E/flutter ( 6022): #12     _Timer._handleMessage (dart:isolate-patch/timer_impl.dart:429:5)
E/flutter ( 6022): #13     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:168:12)
E/flatter(6022):[ERROR:flatter/lib/ui/ui\u dart\u state.cc(157)]未处理的异常:“package:flatter/src/widgets/page\u view.dart”:失败的断言:第180行pos 7:“positions.isNotEmpty”:在使用PageController.page构建PageView之前无法访问它。
E/颤振(6022):#0 _断言错误。_doThrowNew(飞镖:核心补丁/错误补丁。飞镖:42:39)
E/颤振(6022):#1(飞镖:核心补丁/错误补丁。飞镖:38:5)
E/flatter(6022):#2 PageController.page(包:flatter/src/widgets/page_view.dart:180:7)

E/flatter(6022):#3 CarouselState.initState。

页面控制器所属的
页面视图将是内置函数,因此您无法在页面在initState中内置之前或之前访问该页面


您必须向
PageController
添加一个侦听器,以侦听滚动更改页面控制器所属的
PageView
将内置于build函数中,因此您无法在页面在initState中内置之前或之前访问该页面


您必须将侦听器添加到
PageController
以侦听滚动更改您可以在对
PageController
执行任何操作之前检查它是否有任何页面。 这样做:

pageController.hasClient?pageController.page(2):pageController.initialPage


如果您复制并粘贴了代码而不是屏幕截图,我会帮上很大的忙。

在对其执行任何操作之前,您可以检查
PageController
是否有任何页面。 这样做:

pageController.hasClient?pageController.page(2):pageController.initialPage


如果您复制并粘贴了代码而不是屏幕截图,我会有很大帮助。

如何将侦听器添加到Pagecontroller?我有同样的问题。如何将侦听器添加到Pagecontroller?我有同样的问题。