卓凡姓黎 2021-12-26 23:20 采纳率: 100%
浏览 37
已结题

activity的onStart方法在什么情况下会触发fragment的performDestroy?

“Fragment does not have a view”这个报错是childFragmentManager不为空的时候,而且fragment的rootView为空的情况下会触发的。但是很奇怪的是,从logcat看到,activity的onStart方法触发了fragment的performDestroy方法,这个时候rootView怎么会是空的呢?activity的onStart方法为什么会触发fragment的performDestroy?

img

  • 写回答

1条回答 默认 最新

  • pumpkin的玄学 2021-12-27 08:59
    关注

    不要再onCreateView()中调用getChildFragmentManager()
    该操作移动到onViewCreated中

    至于为什么调用到了performDestroy

    刚刚看了一波源码 在FragmentManagerImpl中的moveToState方法中,没细看 但应该是抛出异常之后 状态出现问题 然后调用destroy进行销毁了

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 1月11日
  • 已采纳回答 1月3日
  • 创建了问题 12月26日