2

我编写了一个代码来启动 Activity A 到 Activity B。Activity A 和 B 都有片段实现。

场景:如果 Activity A 经常启动包含 Fragment 的 Activity B,那么大多数时候它错过了 Fragment.onDetach ..我检查了日志,通常它会给我以下覆盖方法日志:

  1. 附加
  2. 项目清单
  3. OnCreatView
  4. onViewCreate 然后按设备返回按钮
  5. 暂停
  6. 停止
  7. 销毁视图
  8. 分离

现在我从 Activity B 按下设备返回按钮,该按钮再次启动 Activity A,然后它启动 Activity B 并经常重复相同的序列,然后日志序列按以下顺序更改:

  1. 附加
  2. 项目清单
  3. OnCreatView
  4. onViewCreate 然后按设备返回按钮
  5. 暂停
  6. 停止
  7. onDestroyView 并重复
  8. onAttach 没有 onDetach

有时它也会在 onPause 之后重复相同的行为。

我在用

getSupportFragmentManager().beginTransaction()
        .replace(R.id.fragment_container, fragment).addToBackStack(null).commitAllowingStateLoss(); to add fragment in Activity.

有什么我想念的……有什么建议吗?

4

1 回答 1

0

一个片段在被销毁后被分离。你所做的事情是在破坏视图后直接分离的。记住销毁和销毁视图是片段中的两个不同的东西。所以尝试 onDestroyView,然后是 onDestroy,然后是 onDetach。

于 2014-10-17T09:17:47.917 回答