【问题标题】:Unhandled Exception: type 'Null' is not a subtype of type 'PageController' in type cast? flutter未处理的异常:类型 \'Null\' 不是类型转换中类型 \'PageController\' 的子类型?扑
【发布时间】:2022-11-13 01:18:24
【问题描述】:
onPressed: () async {
    if (pageController != null) {
        if (pageController.page != 3) {
            pageController = await pageController.nextPage(
                duration: Duration(milliseconds: 300),
                curve: Curves.easeOut) as PageController;
        }
    } else {
        Navigator.of(context).pushNamed(WelcomeScreen.routeName);
    }
},

尝试了很多来解决这个问题,但如果有人可以提供帮助,最终还是一无所获。谢谢。

【问题讨论】:

  • 添加完整代码
  • 让我们看看你是如何声明你的页面控制器的
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如它目前所写的那样,很难准确地说出你在问什么。
  • 问题已经解决了,如果大家还需要代码和解释,我可以提供。

标签: flutter dart


【解决方案1】:

你这里有一个错误

pageController = await pageController.nextPage(
    duration: Duration(milliseconds: 300),
    curve: Curves.easeOut) as PageController;

方法pageController.nextPage 不返回PageController。实际上它什么也不返回,它是一个 void 方法。这就是演员as PageController 失败的原因。简单地说:你不能将任何东西(void)转换成东西(PageController)

因此,您应该将上述行替换为

await pageController.nextPage(
    duration: Duration(milliseconds: 300),
    curve: Curves.easeOut);

【讨论】:

    猜你喜欢
    • 2023-02-03
    • 2022-01-13
    • 2021-12-16
    • 2021-01-17
    • 2021-12-28
    • 2022-11-29
    • 2023-01-12
    • 2021-10-19
    • 2021-12-31
    相关资源
    最近更新 更多