电话返回按钮关闭应用程序,而不是转到 flutter 中的上一页

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

我在代码中添加了 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
    );
  }`
flutter back-button back
2个回答
0
投票

您确定正确重定向到此页面吗?我没发现你写的代码有问题。

Navigator.of(context).push(MaterialPageRoute(builder: (context) => NewScreen()));

使用此代码,您可以重定向到 PopScope 包裹的屏幕吗?


0
投票

分享您的路由器配置,看看您是否有 StatefulShellRoute 或其他主路由来阻止关闭您的应用程序的弹出窗口。 Navigator.of(context).pop() 是一个好方法。

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