gpt4 book ai didi

android - 按 Back 是否总是导致 Activity 完成()?

转载 作者:IT老高 更新时间:2023-10-28 23:33:02 28 4
gpt4 key购买 nike

我听说按下后退按钮实际上会导致当前 Activity finish()。总是这样吗?似乎它将与将 Activity 从堆栈中弹出的方式有关。

我不太确定的一种情况是当任务中的根 Activity 被按下时。我目前正在经历一个非常奇怪的效果,描述如下:

在加载我的应用程序时,第一个 Activity 用于初始化,一旦完成,它就会调用我的主 Activity(一个 TabActivity)。这第一个初始化 Activity 在 list 中设置了 android:noHistory="true",因此从我的主 Activity 按返回不会回到那个状态。它进入启动器。当我第二次在启动器中单击我的应用程序时,初始化 Activity 再次加载,并在完成后加载主 Activity 。几乎立即,它加载了我的主要 Activity 的第二个实例。但只有在应用程序已经运行一次,并通过从主 Activity 中按 BACK 退出后。以后每次都会这样做,直到我强制退出应用程序或从 IDE 加载新版本。

基于此,我怀疑某种 Activity 实例正在周围并被重用,因为它仅在我第二次运行应用程序时发生(并以 BACK 退出 - 使用 HOME 只是返回到最后一个状态应用程序,没什么大不了的)。有人有什么想法吗??

最佳答案

I've heard that pressing the back button will essentially cause the current Activity to finish(). Is this always the case?

不,不是。大多数 Activity 都有这种行为,但不是全部。例如,您可以创建一个对话框并将其设置为 setCancelable(false)如果您单击 BACK 按钮,它将不会关闭。

此外,您可以通过覆盖 onBackPressed 来自定义按下 BACK 按钮时的 Activity 行为。

Called when the activity has detected the user's press of the back key. The default implementation simply finishes the current activity, but you can override this to do whatever you want.

关于您的应用程序行为..您是否验证了 Activity 启动器在加载您的主要 Activity 后是否完成?我的意思是如果调用了 onDestroy() 方法。也许在它运行主要 Activity 之后它仍然存在,当你点击返回时,你只是回到旧的启动器......

希望这会有所帮助..

关于android - 按 Back 是否总是导致 Activity 完成()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2800950/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com