onDetach没有要求片段?

时间:2014-10-17 08:36:32

标签: android android-activity android-fragments activity-lifecycle fragment-lifecycle

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

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

  1. onAttach
  2. 列表项
  3. OnCreatView
  4. onViewCreate然后按设备后退按钮
  5. 的onPause
  6. 的onStop
  7. onDestroyView
  8. onDetach
  9. 现在我按下活动B中的设备返回按钮,再次启动活动A然后启动活动B并经常重复相同的序列,然后按以下顺序更改日志序列:

    1. onAttach
    2. 列表项
    3. OnCreatView
    4. onViewCreate然后按设备后退按钮
    5. onPause
    6. 的onStop
    7. onDestroyView并重复
    8. onAttach without onDetach
    9. 有些时候它也会在onPause之后重复相同的行为。

      我正在使用

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

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

1 个答案:

答案 0 :(得分:0)

碎片在被破坏后被分离。在破坏视图后,你所做的就是直接进行了解决。 记住破坏和破坏视图是碎片中​​的两个不同的东西。 所以尝试onDestroyView,然后是onDestroy,然后是onDetach。