Fragment嵌套子Fragment不显示问题

前言:维护他人项目中,遇到当activity被回收重新恢复时(可以通过开发者不保留活动进行模拟),Fragment嵌套的子Fragment不显示,这个问题之前一直也没有遇到过,而且打断点也发现子fragment也执行生命周期了啊,但是就不显示。

解决:排查代码发现在fragment中设置子fragment使用的是getActivity().getSupportFragmentManager(),修改为getChildFragmentManager()后问题解决了

总结:fragment要规范使用,如果是在activity中使用通过getActivity().getSupportFragmentManager()管理,如果是在fragment中嵌套fragment则要使用getChildFragmentManager(),尽管页面不被系统销毁重建没有发生不显示问题,且一般销毁概率也很低,但规范还是要遵循的,不然就小概率发生也很影响用户体验

猜你喜欢

转载自blog.csdn.net/yufumatou/article/details/112632558