Fragment嵌套ViewPager切换后数据消失ViewPager空白问题

先描述一下现象

如图

解决后如图

之前先在网上找了很多的解决办法,有的网友说要继承FragmentStatePagerAdapter替换掉FragmentPagerAdapter我试了试没管用。后来在解决如下

此方法为初始化ViewPager

private void init() {
        fragmentsList = new ArrayList();
        manager = getFragmentManager();
        fragmentsList = new ArrayList<Fragment>();
        apply = new ApplyStatusFrag();
        audit = new AuditStatusFrag();
        fragmentsList.add(apply);
        fragmentsList.add(audit);

        adapter = new MyFragPagerAdapter(getChildFragmentManager(), fragmentsList);//之前为getFragmentManager;;;;切换fragment后再次回到上一个fragment数据消失
        mPager.setCurrentItem(0);
        mPager.setAdapter(adapter);
        radioGroup_status.check(R.id.RdBtn_apply);
    }

getChildFragmentManager替换掉getFragmentManager问题就解决了。具体的原理是什么,有待学习。

getFragmentManager到的是activity对所包含fragment的Manager,而如果是fragment嵌套fragment,那么就需要利用getChildFragmentManager()了。

getFragmentManager()是所在fragment 父容器的碎片管理,

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

mSectionsPagerAdapter = new SectionsPagerAdapter(getActivity().getSupportFragmentManager());

在Fragment里面嵌套Fragment 的话,不要用上面的那句。。。会在ViewPager中出现。有些Fragment 不会加载的情况。。。既ViewPager 加载 Fragment 空白页的情况。。。。

所以 Fragment里面嵌套Fragment 的话:一定要用getChildFragmentManager();

mSectionsPagerAdapter = new SectionsPagerAdapter(getChildFragmentManager());



特此Mark

时间: 2024-10-13 21:04:15

Fragment嵌套ViewPager切换后数据消失ViewPager空白问题的相关文章

Android Viewpager加Fragment做界面切换时数据消失的解决方式

今天遇到多个Fragment切换,回来后页面空白的情况,找到这个博客方法设置了一下,就可以了 [java] view plain copy vpAdapter = new VpAdapter(getSupportFragmentManager(), fragments); vp_content.setAdapter(vpAdapter); vp_content.setOffscreenPageLimit(2);//设置ViewPage缓存界面数 原文地址:https://www.cnblogs.

viewpager切换添加动画效果viewpager切换添加动画效果--IT蓝豹

viewpager切换添加动画效果,本项目中主要有三种切换特效,(1):DepthPageTransformer 效果(2):RotateDownPageTransformer 每一个view切换的时候旋转(3):ZoomOutPageTransformer 效果主要实现代码:  mViewPager.setPageTransformer(true,new ZoomOutPageTransformer());  mViewPager.setPageTransformer(true,new Rot

Fragment嵌套带来的坑--页面点击无反应(顺带ViewPager之 FragmentPagerAdapter简单分析)

接手别人的老项目.新版本测试提出一个bug: 点击Home最小化的应用->系统设置界面 改变字体后->点击进入应用->3个由viewpager 的fragmentadapter管理的 tab页面点击都没反应. 这是一个比较蛋疼的bug,猜想了很多原因,都不对. 项目的结构是 activity 内有mainfragment,mainfragment又 包含viewpager,viewpager 使用FragmentPagerAdapter 管理3个页面.所以是 activity套2层fra

使用ViewPager+Fragment实现选项卡切换效果

参考链接:http://www.jianshu.com/p/7bc9a1ff137e http://www.devstore.cn/code/info/245.html http://www.tuicool.com/articles/FfeiumV 本人参考了三篇文章来写这个页面,但是运行这上面给出的源码,发现每个fragment的flag并不能实现切换. 要实现的效果如下: 在activity_main.xml中设置布局.xml内容如下: <LinearLayout xmlns:android

使用ViewPager切换Fragment时,防止频繁调用OnCreatView

使用ViewPager切换Fragment,我原先使用系统自带的适配器FragmentPagerAdapter. 切换fragment时,频繁调用oncreatview(). 查看FragmentPagerAdapter的源码,发现两个关键的地方 1 @Override 2 public Object instantiateItem(ViewGroup container, int position) { 3 if (mCurTransaction == null) { 4 mCurTransa

fragment嵌套,viewpager嵌套 不能正确显示

转帖:http://blog.csdn.net/mybook1122/article/details/24003343 通常为 viewPager.setAdapter(new MyFragmentPagerAdapter(getSupportFragmentManager(), fragmentsList)); 替换为 mPager.setAdapter(new MyFragmentPagerAdapter(getChildFragmentManager(), fragmentsList));

ViewPager+Fragment实现左右切换,还有点击事件

activity_main.xml 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:orientation="vertical" android:layout_width="match_parent

两层Fragment嵌套,外层Fragment切换时内层Fragment不显示内容

尊重他人劳动成果,转载请说明出处:http://blog.csdn.net/bingospunky 需求 在搭界面有这么样一个需求:需要两层的Fragment嵌套,内层需要滑动切换效果,外层界面不需要滑动效果.那么内层使用ViewPager切换,外层就使用replace切换.这样搭出来的界面不能得到需要的效果,内层的Fragment只有第一次能显示内容,之后切换外层Fragment时,内层Fragent都是空着的. 我再尝试两层Fragment都使用replace切换,这样就能达到效果了.但是项

关于element 框架中table表格选中并切换下一页之前选中数据消失的问题

问题描述: 在实际项目中使用element框架的table表格时,发现当前页选中了数据,点击切换下一页时,再选中数据,发现上一页选中的数据消失了.(目的是:要把用户选择的所有数据显示到页面上) 代码如下: <!-- html 代码 --> <table :data="tableData" @selection-change="handleSelectionChange" ref="multipleTable" :row-key=