按下后退按钮未触发

Posted

技术标签:

【中文标题】按下后退按钮未触发【英文标题】:Back Button Pressed is not firing 【发布时间】:2021-08-04 08:18:17 【问题描述】:

我正在尝试实现一个在用户按下后退按钮时将被调用的函数。 完全按照我在 UWP 中的预期工作,但问题在于 android

在 android 我有两个后退按钮, 一个在顶部 Navigation(我们称之为 navbackbutton ),另一个在底部,三个 android 按钮“背景应用程序,Home 和返回按钮(android backbutton),

Android 后退按钮正在触发 onBackpressed 覆盖方法,但 navbackbutton 没有,它只是将我带到上一页。

我不明白为什么会这样以及如何解决它。

【问题讨论】:

如果你能包含一些代码 sn-p 或者你试图通过代码做的事情会很棒 问题不是我想要做的,问题 wshy 覆盖 onbackbuttonpresesd 没有被调用,我可以包含我认为不是问题的代码,因为在调试时它不会停止断点。这就是我知道 func 没有被调用的方式。但它让我回到了以前,所以我认为它可能是从其他地方开火 【参考方案1】:

Page.OnBackButtonPressed 只能通过 Android 上的硬件后退按钮触发。

您可以在MainActivity 中覆盖OnOptionsItemSelected 以挂钩导航返回按钮事件,请参考here。

另一种方式是自定义NavigationPage.TitleView(带有返回按钮和标题标签的布局)替换默认导航栏,然后就可以获取返回按钮事件了。

【讨论】:

您好,您还有其他问题吗?如果有帮助,请考虑将其标记为答案。

以上是关于按下后退按钮未触发的主要内容,如果未能解决你的问题,请参考以下文章

按下后退时 EditText 不会触发更改

按下后退时,EditText不会触发更改

在 iOS 设备上使用后退按钮时未触发 CSS 关键帧动画

如果同时触发滑动手势和后退按钮,导航栏会变得很时髦

按下按钮时触发器引发未处理的异常 ora-01401

检测到在 react-router 中按下了后退按钮