【问题标题】:android which function is called first when back to previous acitvityandroid返回上一个活动时首先调用哪个函数
【发布时间】:2014-06-23 19:23:12
【问题描述】:

我有两个活动 A 和 B。在 A 中我开始 B 活动。在 B 活动中,当用户按下后退按钮时,我需要更新 A 的布局值。所以我需要知道

在活动A中,返回活动A时会调用哪个函数。

【问题讨论】:

  • 如何获取要更新的值?从哪里来?
  • @ismail:我不明白你的编辑。 onResume 是正确的选择,因为它正是您所要求的,没有额外的。您想在每次活动恢复时更新布局,onResume 只会在活动恢复时更新。
  • @RogueBaneling 你是对的,我认为 onResume 会在每次活动视图可见时调用,例如每毫秒。

标签: android android-activity


【解决方案1】:

尝试覆盖 A. 中的 onResume() 函数。对我有用。

【讨论】:

  • 这是进行布局更新的正确功能吗?我认为这会导致内存开销
  • 这也将在 Activity 首次启动时被调用,我认为这不是 OP 想要的
  • 每当 Activity 首次启动,以及按下后退按钮并恢复 Activity 时,它都会运行。因此,您可以尝试使用 try/catch 来捕获 RuntimeException,以便在应用程序第一次启动时加载它时不会崩溃。
【解决方案2】:

看看Android生命周期:http://developer.android.com/reference/android/app/Activity.html

你会看到当你回到Activity A时,函数onResume()会被调用。

【讨论】:

    【解决方案3】:

    学习 Android API 的一个关键点是 Activity Lifecycle。

    当显示一个活动时:它的onResume() 方法被调用。所以它会被调用:

    • 第一次显示Activity时(onCreate(...)之后)
    • 每次活动都走在前面
    • Activity 重新创建后(例如,屏幕旋转后)

    更多详情请阅读:activity pausing-resuming 和更多global overview of the lifecycle

    Activity javadoc也是很好的资源

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-20
      • 1970-01-01
      相关资源
      最近更新 更多