fragment中套用PagerSlidingTabStrip,切换底部时viewpager消失的解决
更新:HHH   时间:2023-1-7


    今天在开发时遇上一个问题,我用的框架是底部菜单四个按钮+fragment,然后主页中的fragment套用了PagerSlidingTabStrip,PagerSlidingTabStrip中是用Viewpager+Tab组合进行点击切换页面或者滑动切换菜单,就这样实现了我想要的功能,可是当我在底部菜单中相互切换时,PagerSlidingTabStrip中的Viewpeger消失了,这是怎么产生的呢?官方的Demo没有组合起来使用,所以没有问题,现在组合后问题就出来了,我换用了几个方法都没有解决,后来在查的过程中发现了这个问题。

    原来Demo是在activity中使用的,所以用法如下:

noScrollPager.setAdapter(new TabSeclectAdapter(getSupportFragmentManager(),titles));

pagerSlidingTabs.setViewPager(noScrollPager);

   现在我是使用到fragment中来了,fragment中是没有getSupportFragmentManager()这个方法的,所以当时就按照提示替换成了getFragmentManager(),这样代码没有错,初始化进来的时候也没有问题,可是当我反复切换底部菜单的时候,再返回到主页面,这个Viewpager就消失了,经过多方排查后,将此处改变一下问题就解决

noScrollPager.setAdapter(new TabSeclectAdapter(getChildFragmentManager(),

arrTitles));

pagerSlidingTabs.setViewPager(noScrollPager);

   如此问题解决,其实这个问题也是我无意中暴露出来的,如果当时直接替换成了getChildFragmentManager(),这个问题就不会出来了,但是不出来也让我发现不了这样的问题,所以平时中的问题若有若现,一切都在变化中,后来我发现了一篇博客,问题跟我的一样,如果我叙述中有不了解的,可以参考一下这篇博客,博主还附加图片,本人因现在的项目的原因,不便出图,还处于保密阶段,望谅解!

   参考博客:http://blog.csdn.net/mybook1122/article/details/24003343



返回开发技术教程...