【发布时间】:2019-11-26 09:50:00
【问题描述】:
我的问题是我有一个主页然后登录页面然后是主页,如果我在主页中按注销它应该导航我回到包含 willpopscope 的主页,我想要做的是防止用户在主页中按下后退按钮,以便应用程序在没有用户登录的情况下不会返回主页,问题是当我 Navigator.push 主页时 willpopscope 不起作用,所以每当我按下后退按钮让我回到主页。
我尝试改变 WillPopScope 的位置,如果我用它包裹整个小部件,它将永远无法为我工作
复制代码
//Main page:
class MainActivity extends StatefulWidget {
final bool isWelcome;
MainActivity(this.isWelcome);
@override
State<StatefulWidget> createState() {
return OperateMainActivity(isWelcome);
}
}
class OperateMainActivity extends State<MainActivity> {
bool isWelcome = false;
OperateMainActivity(this.isWelcome);
@override
Widget build(BuildContext context) {
//print(isWelcome);
return MaterialApp(
home: MyHome(
isWelcome: isWelcome,
));
}
}
class myHome extends StatelessWidget
return Scaffold(
body: Center(
child: WillPopScope(
onWillPop: () async => false,
child: Container(....)
// Home page
Navigator.push(context,MaterialPageRoute(builder: (context) => MainActivity(false)));
//When pushing to main activity WillPopScope does not work
【问题讨论】: