做了一个小应用,外层大模块用了fragment,大模块内部的小模块也用了fragment,都是用viewpager管理。后来发现大模块切换之后,回到原来的模块,小模块内容不显示。开始怀疑viewpager管理有问题,于是在几个fragment中都遍置log测试生命周期函数,包括setUserVisibleHint和onHiddenChanged,但是明明看见调用了,就是没有内容。
后来在网上看到,原来子一级fragment的管理器另有玄机,不是getFragmentManager(),而是getChildFragmentManager,改过来一切OK。