今天做项目遇到一个比较奇葩的问题,于是上网搜索了好久才搞定。
1.先说问题:
我的是一个fragment界面里面嵌套了一个viewpager,viewpager里面放的两个fragment的适配器,第一次执行时都正常显示,第二次执行时viewpager显示数据为空?
解决方案:
调试打印logo显示viewpager适配器的getItem()方法没有执行,原因是fragment里面又嵌套了fragment,所以在创建viewpager的适配器的时候传参为getChildFragmentManager()而不是getFragmentManager(),因为如果传参为getFragmentManager()则表示将父Fragment的FragmentManager传给了子Fragment,所以无法显示数据
2,第二个问题: RadioGroup和viewpager,viewpager滑动时实现RadioGroup中的对应的按钮也被选中状态
解决方案:在继承FragmentPagerAdapter类的类里面,同时实现OnCheckedChangeListener,OnPageChangeListener两个抽象类,同时把RadioGroup和viewpager对象穿进去,分别给这两个对象注册对应的OnCheckedChangeListener,OnPageChangeListener时间久可以了。