博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Viewpager+Fragment出现空白页面的问题
阅读量:4703 次
发布时间:2019-06-10

本文共 1081 字,大约阅读时间需要 3 分钟。

写了三个Fragment,一次点击跳转显示正常,如果从第一个直接跳转到第三个,第三个页面会出现空白界面。

问题找到了:原来动态获取数据页面数据不显示,页面显示空白,就是onCreateView每次都调用导致的,这样fragment每次都会设置新的view,而调试发现,之前的view并没有被回收……这就导致了,新的view覆盖了之前设置的view,这也就说的通了。

结合网上看的资料,得到解决方法一共有以下3种:

     1  viewpager.setOffscreenPageLimit(num);num为你的tab数,

     2 在onCreateView里面,判断Fragment是否已经添加了contentView(第一次加载时,可以将view保存下 来,再  次加载时,判断保存下来的view是否为null),如果保存的view为null,返回新的view ,否则,先将 保存的view从父view中移除,然后将该view返回出去   

@Override    public View onCreateView(LayoutInflater inflater, ViewGroup container,            Bundle savedInstanceState) {        // TODO 自动生成的方法存根        if (contentView != null) {            ViewGroup parent = (ViewGroup) contentView.getParent();            if (parent != null) {                parent.removeView(contentView);            }            return contentView;        }        return contentView = inflater.inflate(R.layout.fragment,                container, false);    }

     3 重写public void destroyItem(ViewGroup container, int position, Object object),去掉super.destroyItem(container, position, object);

转载于:https://www.cnblogs.com/diyishijian/p/6029864.html

你可能感兴趣的文章
Linux 下安装nginx的总结 (之前写的有问题))
查看>>
[转]微服务架构的理论基础 - 康威定律
查看>>
A1064. 排名计算
查看>>
ubuntu linux上配置samba服务器
查看>>
sdk 获取 vue 实例
查看>>
资源列表
查看>>
如何实现清浮动(转载)
查看>>
【Java程序】约瑟夫环
查看>>
借助第八代智能英特尔® 酷睿™ i7 处理器和 Unreal Swarm* 的强大性能快速构建光照...
查看>>
View Controller 生命周期的各个方法的用法
查看>>
去掉iview Modal组件中的取消和确定按钮
查看>>
媲美jQuery的JS框架----AngularJS(二)
查看>>
【译】Asp.Net 导出 Excel 数据的9种方案
查看>>
Python 快速统计数据的去重数和去重数据
查看>>
【心情随记】收拾屋子,整理心态
查看>>
课件动画做的牛不牛,看你有它没它!
查看>>
怎么用MindManager记笔记
查看>>
xargs命令
查看>>
java程序设计课程实验报告1
查看>>
密码的三重属性
查看>>