使用tabhost,相邻的两个片段,点击其中一个,另一个再打开就显示空白

今天项目要求改布局,在首页的tabhost里,将两个fragment的布局变成一样的,只是内容不一样,改完了之后,就出现了BUG,点开一个片段之后,再点开另一个片段,该片段显示的是空白。

后来花了不少时间去解决这个问题,在别人的提示下,终于发现问题。

因为这两个片段里面还有viewpager,也就是整体的框架是,Activity里有一个ViewPager,ViewPager关联的Fragment里还有ViewPager,所以出现了这种奇怪的问题。

原因是因为,在获得FragmentManager的时候,都是通过getSupportFragmentManager()这个方法去获取的,于是就出现了BUG。

解决方法:在Activity的Fragment中,要获取FragmentManager需要调用getSupportFragmentManager()方法,而在Fragment的Fragment中获取FragmentManager,则需要调用getChildFragmentManager()方法去获取,因为需要用当前Fragment的FragmentManager去管理,而不是使用Activity的FragmentManager去管理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值