gpt4 book ai didi

android - 如何检测 onResume() 是从 onCreate()、从应用程序唤醒还是从开关 Activity 调用的?

转载 作者:行者123 更新时间:2023-11-30 03:41:02 25 4
gpt4 key购买 nike

我对 android 的生命周期如何工作以及如何检测像 onResume 这样的函数调用的来源有点困惑。

让我这样陈述这个问题。我有一个包含 5 个 Activity 的应用程序,它们将使用选项卡 Activity 进行导航。

所以在切换每个选项卡后,我知道当前 Activity 的 onPause() 和新 Activity 的 onResume() 将被调用。

在 Activity B 中,我按下后退按钮,然后返回到 Android 的主屏幕。重新打开应用程序后, Activity B 将为 onResume()

我希望实现的是,当一个 Activity 从主屏幕恢复时,内容和数据将被刷新。但在标签切换期间它们应该保持不变。

有什么办法可以实现吗?我怎么知道 Activity 是从 Android 主屏幕还是从标签切换恢复?

谢谢!

最佳答案

我不知道您的应用程序逻辑是如何设置的,但您始终可以在某处拥有一个公共(public)静态变量,您可以更改该变量以保存 lastScreen 的标签。

例如:

例如将其放入您的主要 Activity 中:

public enum LastScreen {
NONE, TAB1, TAB2 , TAB3 , MAIN_SCREEN
}

public static LastScreen lastScreen = LastScreen.NONE;

在切换之前,在每个选项卡中执行以下操作:

MainActivity.lastScreen = LastScreen.TAB1;

并且在 onResume() 中你可以检查它:

if(MainActivity.lastScreen == LastScreen.TAB1)
//do something!
else if (MainActivity.lastScreen == LastScreen.MAIN_ACTIVITY)
//do something else!

关于android - 如何检测 onResume() 是从 onCreate()、从应用程序唤醒还是从开关 Activity 调用的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15747244/

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