再次返回ViewPager数据不显示

页面的整体布局是: Fragment+ViewPager+Fragment
Fragment中放一个ViewPager,ViewPager中又容纳多个Fragment

如图所示 , 底部的4个按钮是用FragmentTabHost做的, 分别对应4个Fragment.(暂且称之为 大Fragment)
商城的Fragment又是Indicator+ViewPager的布局,
ViewPager中每个页面又是Fragment.(暂且称之为 小Fragment)

当第一次打开商城页面时,ViewPager中的数据是可以正常显示的. 但是如果点击了其他页面,比如消息页面,再去打开商城页面的话, ViewPager中的数据就不会显示.

但也不是所有的数据不显示,只是离开时已经加载进内存的不会显示. 比如说, 离开商城页面时,我选中的Tab是 “旺铺”,那么”旺铺”的下一个Tab “推荐”也是已经加载进内存的. 那么我再返回到商城页面时, “旺铺”和”推荐”两个Tab对应的ViewPager中的页面就不会有数据, 但是滑动到其他的页面,数据可以显示.

在商城的 大Fragment中:
mViewPager.setAdapter(new MallPagerAdapter((getActivity().getSupportFragmentManager())));
其中MallPagerAdapter是继承FragmentStatePagerAdapter的.
打印Log看了一下:
再返回商城页面时, setAdapter是可以执行的, 但是 MallPagerAdapter中的getItem(int position)却不执行(想想确实也应该这样,因为已经加载过了么,所以就不执行了)

网上查了一下, 说是把getSupportFragmentManager()改成getChildFragmentManager(), 但是我改成了getChildFragm

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值