onPressed: () => Navigator.pop(context, false)
更简单的方法是将机身包装在WillPopScope中,这样它将与顶部的后退按钮和底部的Android后退按钮一起工作。
下面是一个两个后退按钮都返回false的示例:
final return = Navigator.of(context).push(MaterialPageRoute<bool>(
builder: (BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("New Page"),
),
body: WillPopScope(
onWillPop: () async {
Navigator.pop(context, false);
return false;
},
child: newPageStuff(),
),
);
},
));
在他们建议使用的其他答案中:
final return = Navigator.of(context).push(MaterialPageRoute<bool>(
builder: (BuildContext context) {
return Scaffold(
appBar: AppBar(
leading: BackButton(
onPressed: () => Navigator.pop(context, false),
),
title: Text("New Page"),
),
body: newPageStuff(),
);
},
));
我想知道,当您使用转到另一个页面时,是否有人知道如何删除flutter应用程序中上显示的后退按钮。我不希望它出现在这个结果页面上的原因是它来自导航,我希望用户使用按钮,以便会话重新开始。
我有一个活动,当我的应用程序首次启动时开始(只有一次)。该活动允许用户选择主题。然后当他们按下完成键时,我完成了这项活动。这会将用户引导到主活动。但是当用户按下返回按钮时,它会返回到第一次启动的活动(我使用完成()关闭的活动)。但我想要的是,应用程序应该关闭时,用户按下返回按钮从主活动(总是)。我在两个类中都重写了onBackPress。 这两个类中的onBackPressed方法如下所示: 主活
嗨,我已经在应用程序抽屉中创建了片段,现在当我按下一个片段上的后退按钮时,它正在关闭应用程序。
这显然是我在这里的第一篇文章...好吧,我的问题如下:@android:我有一个用户输入文本的文本编辑器,我通过getText()获取文本,一切正常,但当我按下后退按钮,再次返回到文本编辑器的相同活动并尝试再次获取文本时,它返回空字符串"",尽管文本编辑器视图中显示了不同的文本。会不会是文本编辑仍然与旧的关闭活动“相关或对应”?有什么想法吗? 然后在 AsynckTask 中,我将文本发送到发送,
我的主要活动导致第二个活动。如果用户按下手机的后退按钮,应用程序将返回主活动。 发生这种情况时,我如何执行某些操作? (我知道我可以在SecondActivity中添加代码,将功能添加到back按钮,以便它将结果传递给MainActivity,但我不想在每个可能导致返回MainActivity的屏幕上都这样做。) 也许是另一种提问方式,我如何知道MainActivity是因为按下后退按钮而显示的,
我通过以下代码阻止返回登录活动: 当用户处于第二个活动上并且他按下主页按钮,应用程序进入后台,当他恢复它时,第二个活动出现 - 没关系。但是,当用户在第二个活动中按后退按钮时,应用程序进入后台,当他重新喜欢它时 - 登录活动再次创建并且它处于前期。 如何防止再次创建登录活动?或者,我不应该完成登录活动,而是应该检查用户是否已登录-如果是,我应该显示第二个活动? 清单: