Android - 在片段恢复后调用onPostResume

时间:2014-12-05 15:21:12

标签: android android-fragments android-lifecycle

我似乎无法使用搜索引擎找到这个答案,但是在托管片段的活动的情况下,当调用onPostResume方法的活动时,我假设已经调用任何附加的片段onResume方法。谁能证实?

3 个答案:

答案 0 :(得分:7)

原住民Activity

final void performResume() {
    ...
    mInstrumentation.callActivityOnResume(this);
    ...
    mFragments.dispatchResume();
    mFragments.execPendingActions();

    onPostResume();
    ...
}

支持FragmentActivity

protected void onPostResume() {
    super.onPostResume();
    ...
    onResumeFragments();
    mFragments.execPendingActions();
}
protected void onResumeFragments() {
    mFragments.dispatchResume();
}

所以这取决于你是否在super.onPostResume()中调用@Override之前或之后对片段进行了处理。

答案 1 :(得分:3)

结果我在eclipse中关闭了自动构建,这就是为什么当我自己测试它时我得到了奇怪的结果。但对于那些想知道......

  1. 首先恢复活动
  2. 然后片段恢复
  3. 最后调用主机活动onPostResume。
  4. 因此片段在onResume方法的活动中恢复。但这并不能保证。更好的方法是覆盖onResumeFragment。此回调可确保恢复片段。

答案 2 :(得分:0)

就我而言,Fragment添加了ViewPager。 这是日志:

活动:onResume
活动:onResumeFragments
活动:onPostResume
片段:onResume