【问题标题】:what method is called when Actionbar back/home button is pressed?按下 Actionbar 后退/主页按钮时调用什么方法?
【发布时间】:2016-10-27 03:49:03
【问题描述】:

我有两个活动第一个活动在应用程序启动时打开并保存片段第二个活动从该片段打开,当我按下主页按钮时第二个活动关闭并在片段方法中调用 onDetach -> onAttach -> onResume,但如果我使用finish()或onBackPressed()片段关闭第二个活动永远不会分离只是调用onResume()。所以我的问题是当按下主页按钮时调用什么方法,是否有可能使用相同的方法来关闭活动,例如在按钮上按?基本上我需要的是,当我关闭第二个活动时,片段会调用 onDetach -> onAttach。

【问题讨论】:

  • 操作系统负责调用生命周期方法。你无法做任何事情来影响它。然后将您的代码从onDetach 迁移到更合适的方法,例如onPause,或者在这两个地方都使用它。

标签: android android-fragments android-activity up-navigation


【解决方案1】:

您可以删除片段,例如onDestroy() 的活动,所以片段将通过它的生命周期方法

【讨论】:

    【解决方案2】:

    活动onPause() 在按下主页或返回按钮时被调用。我刚刚尝试使用 finish()onBackPressed() 导致 onPause() 也被调用。

    但是,我不确定使用片段时是否有差异。

    关于暂停和恢复的Android培训:https://developer.android.com/training/basics/activity-lifecycle/pausing.html

    【讨论】:

    • 是的,你是对的,但我需要的是,当我在按下按钮时关闭第二个活动时,片段会调用 onDetach 和 onAttach
    猜你喜欢
    • 2012-12-26
    • 1970-01-01
    • 2011-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多