viewpage使用注意

来源:互联网 发布:上海交大软件学院 编辑:程序博客网 时间:2024/06/05 11:11

在音乐播放器中,我尝试使用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  里面子容器的碎片管理。
0 0