Fragment嵌套Fragment, 子Fragment中使用
2021-03-24 本文已影响0人
jamin_it


如图1所示,使用fragment嵌套fragment,ViewPager+FragmentStatePagerAdapter+TabLayout,进到app,第一次点击产品,数据显示正常,
当点击底部其他图标,再点击产品后不显示数据。此时再滑动ViewPager或者点击TabLayout上的标签多点几个再点回来可以正常显示出数据。经过排查发现子Fragment的FragmentManager用的不合适,需要使用childFragmentManager, 另外ViewPager需要设置不保存视图的状态,否则会报错提示fragment找不到,报错日志大概是这样的:Fragment no longer exists for key f0: unique id d3ee25ce-fac0-49f4-bc0d-17a0f0fc8673。
viewPager.setAdapter(new ProductPageAdapter(getChildFragmentManager(), list));
viewPager.setSaveEnabled(false);