实现ViewPager+Fragment的懒加载功能
来源:互联网 发布:linux 设置root密码 编辑:程序博客网 时间:2024/04/29 21:04
当ViewPager和Fragment组合使用的时候,如果每个Fragment里面都有请求数据的话,会一下子加载大量资源。有时候项目中只需要在滑动到当前页的时候加载数据,实现Fragment懒加载,这时可以利用Fragment的setUserVisibleHint(boolean isVisibleToUser)方法来实现。
在Fragment里面重写setUserVisibleHint(boolean isVisibleToUser)方法
因为setUserVisibleHint()方法在onCreateView()之前执行,所以可能会有空指针异常,所以用isViewCreated 变量来控制在onCreateView()执行完成后加载数据。
@Overridepublic void setUserVisibleHint(boolean isVisibleToUser) { if (isVisibleToUser) { isShowed = isVisibleToUser;//isShowed 标识是否对用户可见 if ((datas== null || datas.size() == 0) && isViewCreated) {//isViewCreated 标识onCreateView()方法已执行 loadLvData();//加载数据 } } super.setUserVisibleHint(isVisibleToUser);}
在onCreateView()方法中添加下面代码:
private boolean isViewCreated = false;private isShowed = false;private List<String> datas;@Overridepublic View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { //...已有的代码 isViewCreated = true; if (isShowed) { loadLvData(); }}
0 0
- 实现ViewPager+Fragment的懒加载功能
- ViewPager+Fragment 懒加载的实现
- Fragment+ViewPager实现真正的懒加载
- ViewPager实现Fragment懒加载
- viewpager fragment 实现懒加载
- ViewPager + Fragment实现懒加载
- ViewPager+Fragment实现懒加载
- ViewPager+Fragment实现懒加载
- viewpager+fragment的懒加载实现微信点击和滑动切换功能(切换效果)
- viewpager+fragment的懒加载
- Android之Viewpager+Fragment实现懒加载
- Fragment与Viewpager实现懒加载
- TabLayout+ViewPager+Fragment懒加载实现
- TabLayout+ViewPager+Fragment实现懒加载
- Android之Viewpager+Fragment实现懒加载
- Android之ViewPager+Fragment实现懒加载
- TabLayout+ViewPager+fragment实现懒加载
- fragment配合viewpager实现懒加载
- TCP的ACK确认系列 — 发送状态转换机
- 常用传感器协议11:CJ/T-188 冷热量表协议解析5
- Date类型笔记
- DB2 Runstats 抽样统计 sampled
- 一天 第一章 花在花苞未有泪,人见不识无言对
- 实现ViewPager+Fragment的懒加载功能
- ViewPager的使用
- 前向型神经网络之BPNN(附源码)
- ES6学习——生成器(Generators):详细语法
- checkbox 全选的问题
- CentOS7 Mac安装SecureCRT 7 8附破解
- 测试1111.md
- iOS CATextLayer 富文本
- Backbone与Angular的比较