重新启动或重新加载时carousel_slider出错



我使用carousel_slider在屏幕页面之间切换为carousel,但当我单击按钮切换到另一个屏幕时,我使用方法animateToPageCarouselController切换到新屏幕->controller.animateToPage(pageIndex)

void handleButtonClick() {
if (pageIndex != 1 && pageIndex != 2) {
goToLogin!.call();
} else {
controller.animateToPage(pageIndex);
}
}

每次我运行应用程序时,它都能完美地工作,但如果尝试热重启或热重新加载,我在点击按钮时会出现以下错误

E/flutter(5497(:[错误:flutter/lib/ui/ui_start_state.cc(209(]未处理的异常:在Null值上使用了Null检查运算符E/flutter(5497(:#0 CarouselControllerImpl.animateToPage(包:carousel_slider/carousel_controller.dart:106:41(E/flutter(5497(:#1演示按钮手柄按钮点击…

有人知道如何解决这个问题吗?

检查pageIndex是否为null。

如果它为null,请尝试使用非null值进行初始化,如int pageIndex = 0

我也面临着同样的问题:我的转盘滑块工作得很好,但在我更新状态后,控制器功能就不再工作了。

正如@GustavoF所提到的,我通过在StatefulWidget的State中声明CarouselController来解决这个问题,然后构建方法将使用这个相同的控制器作为CarouselSlider的参数

最新更新