viewpage使用注意

在音乐播放器中,我尝试使用viewpage来布局,但是使用过程中遇到了一些问题,


假设有3个page,

在MyPageAdapter( extends FragmentPagerAdapter)中加入3个page,会调用3个page的构造函数(我是通过调用构造函数new 的)

当前界面是第一个page则是后会初始化第一个page和第二个page,第三个page未调用onCreateView,

当前界面是第二个page则会把第三个page调用onCreateView

当前界面是第三个page则第一个page会注销,当从第三个page滑动到第二个page的时候,第一个page会调用onCreateView



当我再replace一个fragment并且addToBackStack的时候,按返回键,神奇的事情发生了,返回的fragment和原本的不一样了,触发事件也有些不同,想了很久没明白,最后发现是viewpage中的fragment的oncreateview没有调用,

查资料,http://www.apkbus.com/android-142781-1-1.html这里说的貌似不错,好吧,貌似,很多看起来糊里糊涂的,只能继续百度,

后发现有个解决方法,在fragment中嵌套fragment的时候要用getChildFragmentManager

                                       在activity中嵌套fragment的时候用getSupportFragmentManager

替换过来,问题解决,问题是解决了可原理还是没弄明白

网上一查得:

getFragmentManager()是所在fragment 父容器的碎片管理,
getChildFragmentManager()是在fragment   里面子容器的碎片管理。

getFragmentManager()是所在fragment 父容器的碎片管理,
getChildFragmentManager()是在fragment   里面子容器的碎片管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值