fragment+viewpager 第二次执行时viewpager没有数据

来源:互联网 发布:麦子学院php百度云 编辑:程序博客网 时间:2024/04/28 10:22

今天做项目遇到一个比较奇葩的问题,于是上网搜索了好久才搞定。

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时间久可以了。





0 0
原创粉丝点击