我在代码中添加了 pop 范围,以便在按下手机上的后退按钮时转到上一页,但它没有转到上一页,而是关闭了应用程序。我不想关闭应用程序。 这是我放置 pop 范围的地方
@override
Widget build(BuildContext context) {
return PopScope(
canPop: true,
onPopInvoked: (bool didPop) async {
if (didPop) {
return;
}
Navigator.pop(context);
},
child: Scaffold(
appBar: AppBar(
backgroundColor: Colors.white,
leading: Builder(
builder: (BuildContext context) {
return IconButton(
icon: const Icon(Icons.arrow_back),
color: Colors.black,
onPressed: () {
Navigator.pop(context);
},
);
},
),
title: Text(
'Pengajuan',
style: TextStyle(color: Colors.black),
),
),
//body
);
}`
您确定正确重定向到此页面吗?我没发现你写的代码有问题。
Navigator.of(context).push(MaterialPageRoute(builder: (context) => NewScreen()));
使用此代码,您可以重定向到 PopScope 包裹的屏幕吗?
分享您的路由器配置,看看您是否有 StatefulShellRoute 或其他主路由来阻止关闭您的应用程序的弹出窗口。 Navigator.of(context).pop() 是一个好方法。