Fragment嵌套Fragment, 子Fragment中使用

2021-03-24  本文已影响0人  jamin_it
图1:启动App,第一次点击产品,数据显示正常。 图2:点击底部其他图标,再点击产品后显示数据为空。

如图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);

上一篇 下一篇

猜你喜欢

热点阅读