多个WillPopScope?

问题描述 投票:0回答:2

这是我的应用程序的场景:启动画面-> 登录画面-> 主画面

我在登录屏幕主屏幕中都有WillPopScope

如果用户已成功登录,则使用:

Navigator.push(
          context, MaterialPageRoute(builder: (context) => HomeScreen()));

我的问题是,我现在在我的[[主屏幕中,但是当我尝试按手机的后退按钮时,我的登录屏幕WillPopScope被触发,而不是[主屏幕

我是新手,我对此简单的逻辑感到困惑。请帮助。
flutter dart flutter-layout flutter-test
2个回答
0
投票
当您进入

登录屏幕时,您需要从堆栈弹出登录屏幕并将主屏幕推入其中。您可以执行以下操作:

Navigator.pushReplacement(context, MaterialPageRoute(builder: (context) => HomeScreen()))

0
投票
在登录屏幕中,在调用主屏幕之前添加Navigator.pop(context)。

Navigator.pop(context); Navigator.push(context, MaterialPageRoute(builder: (context) => HomeScreen()));

© www.soinside.com 2019 - 2024. All rights reserved.