未处理的异常:'package:flutter/src/widgets/navigator.dart':断言失败:第 3599 行 pos 12:'!_debugLocked':不正确

时间:2020-12-26 10:21:55

标签: android firebase flutter asynchronous dart

我的项目包含一个小队测验选项,管理员可以向他想与之竞争的用户发送邀请。 一旦每个人都加入并且管理员开始测验,两者都会被推送到页面上,并且管理员有更多的权限,其他一切从显示问题到选择答案都是一样的。 测验只能在管理员在测验结束时单击结束时结束,并且我在单击该按钮时 firesstore 的侦听器值会更改,并且当值更改时,用户和管理员应该被推送到结果页面。 一切对管理员来说都完美无缺,但对于其他用户,我在控制台中遇到错误。 每当用户在测验之间单击后退按钮时,也会抛出相同的错误,并且没有为用户调用我的 WillpopScope 函数,但对于管理员来说一切都很好。

测验代码的结构:

class Quiz extends StatefulWidget {
  @override
  _QuizState createState() => _QuizState();
}

class _QuizState extends State<Quiz> {
  @override
  Widget build(BuildContext context) {
    return StreamBuilder(
      stream: SomeStream(),
      builder: (context , snapshot){
        if(listener == true){
          Navigator.of(context).pushReplacement(MaterialPageRoute(
            builder: (context) =>
                ResultScreen(),
          ));
        }
        return WillPopScope(
          onWillPop: (){
            SomeAction(),
          },
          child: Column(
          children: [
            Body,
            isAdmin ?
                SubmitButton(
                  onTap () :{
                    listner == true;
                }
                ):
            WaitingForAdminButton(),
          ],  
          )
        )
      },
    );
  }
}

我真的很困惑,为什么一切对管理员来说都是完美的,但对用户却不是,有人可以帮我解决这个问题吗??

提前致谢。

0 个答案:

没有答案