第一个fragment,代表着首页。首页又是一个类似tab的fragment,使用viewpager切换着两个fragment。

 1  private void InitViewPager(View parentView) {
 2        mPager = (ViewPager) parentView.findViewById(R.id.vPager);
 3        fragmentsList = new ArrayList<Fragment>();
 4
 5
 6        fragment1 = new SortHotFragment();
 7        fragment2 = new SortNewFragment();
 8
 9
10        fragmentsList.add(fragment1);
11        fragmentsList.add(fragment2);
12
13        mPager.setAdapter(new MyFragmentPagerAdapter(getActivity().getSupportFragmentManager(), fragmentsList));
14        mPager.setCurrentItem(0);
15        mPager.setOnPageChangeListener(new MyOnPageChangeListener());
16  }

一般根据往常的经验,如果要传入fragmentmanager,都是红色字体部分。

但是,这样会导致一个问题:数据丢失。

在fragment切换来回时,其他单个的fragment里面的数据不会丢失,而使用了viewpager的多个fragment切换的fragment会一团漆黑。

解决办法:

将红色字体部分,用getChildFragmentManager() 替换。

mPager.setAdapter(new MyFragmentPagerAdapter(getChildFragmentManager(), fragmentsList));
mPager.setCurrentItem(0);
mPager.setOnPageChangeListener(new MyOnPageChangeListener());

转载于:https://www.cnblogs.com/zshuai/p/4292766.html

Fragment使用PagerSlidingTabStrip嵌套子Fragment显示问题相关推荐

  1. android 弹出fragment,Android中ViewPager获取当前显示的Fragment

    前言 在项目中,有时会用到在ViewPager中显示同样类型的Fragment,同时这样的Fragment的个数是动态的,但是PagerAdapter没有给我们提供getCurrentFragment ...

  2. Android Activity内嵌Fragment,当Activity recreate时Fragment被添加多次,造成界面重叠

    由于某些原因,例如旋转屏幕,内存不足时,造成Activity被destroy() ,或者切换语言环境时,我们recreate()该Activity.这时,如果在该Activity的onCreate中未 ...

  3. Activity recreate时导致Fragment被添加多次,显示混乱问题

    在某些场景下,旋转屏幕.内存不足,或app内切换语言主动调用reCreate()方法,造成Activity被destroy ,系统会recreate 重新创建该Activity ,会重走onCreat ...

  4. Activity内嵌Fragment,当Activity recreate时Fragment出现重叠

    recreate() Activity recreate()之后会出现fragment重叠的问题,需要给fragment增加tag @Override protected void onCreate( ...

  5. Android Fragment详解(二):Fragment创建及其生命周期

    Fragments的生命周期 每一个fragments 都有自己的一套生命周期回调方法和处理自己的用户输入事件. 对应生命周期可参考下图: 创建片元(Creating a Fragment) To c ...

  6. Fragment详解之四——管理Fragment(2)

    相关文章: 1.<Fragment详解之一--概述> 2.<Fragment详解之二--基本使用方法> 3.<Fragment详解之三--管理Fragment(1)> ...

  7. Fragment详解之三——管理Fragment(1)

    前言:follow your heart,be your own king 相关文章: 1.<Fragment详解之一--概述> 2.<Fragment详解之二--基本使用方法> ...

  8. android 清空回退栈,清空Fragment回退栈中某个Fragment

    出栈的方法: getActivity().getSupportFragmentManager().popBackStackImmediate(CreateOneFragment.class.getNa ...

  9. error inflating class fragment的错误解决(fragment)

    首先我要先说明两种方法. 一.fragment的name路径发生错误,导致activity无法run <fragmentandroid:name="com.example.androi ...

最新文章

  1. 移动端开发者眼中的前端开发流程变迁与前后端分离
  2. 建立索引常用的规则如下
  3. zencart 后台 tool-define page editor define define_main_page.php
  4. DataGrid数据绑定
  5. 搜索引擎排名点击跳转问题解决办法
  6. infoq mysql索引_MySQL 索引优化指南
  7. php think run 后台运行问题
  8. gcode2pointClound
  9. win10安装visio2010出错_win10 office2013安装错误1907解决方法
  10. 燃油经济性加速时间曲线matlab,汽车理论课后习题Matlab程序详解
  11. Python之win7环境下安装python3
  12. java web 上传图片漏洞_Web安全:文件上传漏洞
  13. 【C语言进阶】C语言程序设计:动态通讯录(顺序表实现)
  14. Linux下 ifconfig、ifup、ifdown使用说明
  15. Ubuntu下软件安装
  16. python图像识别依赖包安装和环境配置
  17. 最邻近差值算法(nearest)和双线性插值算法(bilinear)
  18. winform制作音乐播放器
  19. 【论文解读 WWW 2019 | HAN】Heterogeneous Graph Attention Network
  20. GBase 8s 监控平台工具安装与配置

热门文章

  1. 一些没啥用的大数据组件以及理由(持续更新中)+2020的Gartner曲线
  2. cannot find symbol [ERROR] symbol: class DistributedFileSystem
  3. ubuntu18.10安装octave
  4. python调用mysql中的自定义function并且返回结果
  5. 1.1 向量基本概念
  6. PLSQL Developer中数值字段由科学计数法改为普通数值显示
  7. 扩大VMware虚拟机中linux硬盘空间
  8. LeetCode-95-Unique Binary Search Trees II
  9. 一行代码让你的python运行速度提高100倍
  10. 【云计算的1024种玩法】云端打造家庭文件备份中心