Activity+Viewpager 延迟加载
2015-12-16 09:47
316 查看
延迟加载~懒惰加载
思路:
在初始化各个activity的时候,提供的layout没有全部加载出来,只是加载出来一个textview(正在加载中……的字样),在MyOnPageChangeListener滑动监听的时候,如果是第一次滑动,那么就将剩下的控件加载出来,并且搜索数据。
走过的弯路:
1.之前看了很多网上的资料,说换一个jar包,里面的setOffscreenPageLimit(0)来设置不提前预加载,但是换上jar包之后,发现曾经滑动过的界面,还是要重新再次加载一次,直接throw away
另外,可以使用ragment+viewpager:
如果采用fragment+viewpager ,fragment里面含有lazyload()再进行判断,这样省事多了.
推荐博客:http://blog.csdn.net/jdsjlzx/article/details/49970017
思路:
在初始化各个activity的时候,提供的layout没有全部加载出来,只是加载出来一个textview(正在加载中……的字样),在MyOnPageChangeListener滑动监听的时候,如果是第一次滑动,那么就将剩下的控件加载出来,并且搜索数据。
走过的弯路:
1.之前看了很多网上的资料,说换一个jar包,里面的setOffscreenPageLimit(0)来设置不提前预加载,但是换上jar包之后,发现曾经滑动过的界面,还是要重新再次加载一次,直接throw away
另外,可以使用ragment+viewpager:
如果采用fragment+viewpager ,fragment里面含有lazyload()再进行判断,这样省事多了.
public abstract class xxxFragment extends Fragment { /** Fragment当前状态是否可见 */ protected boolean isVisible; @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if(getUserVisibleHint()) { isVisible = true; onVisible(); } else { isVisible = false; onInvisible(); } } /** * 可见 */ protected void onVisible() { lazyLoad(); } /** * 不可见 */ protected void onInvisible() { } /** * 延迟加载 * 子类必须重写此方法 */ protected abstract void lazyLoad(); }
推荐博客:http://blog.csdn.net/jdsjlzx/article/details/49970017
相关文章推荐
- centos6.5远程桌面连接
- Android蓝牙开发
- macOS下php(一)搭建
- 如何解决电脑ip地址冲突的问题
- C++ 类模板不能实现分离式编译
- New Hire Training Experience
- 【解决方案】: hyper-v 导入虚拟机报这个错误 32784
- MVC过滤器详解
- ios开发——点击空白处隐藏键盘的几种方法
- CentOS7 RedHat7 添加静态路由方法
- iOS开发的UI制作中动态和静态单元格的基本使用教程
- Microsoft.Extensions.Logging适配Log4Net
- 判断字符串 是否为空
- SharedPreferences详解(存储、读取及代码)
- 每日一问之Android系统中的各种FLAG
- 【Qt程序】基于Qt词典开发系列<十二>呼叫讲述
- Java零基础:一步步教你如何使用eclipse创建项目及编写小程序实例
- Nuget下载好Sqlite.EF6后出现运行报错处理办法
- OC_03
- iOS开发之XML解析