1. import android.support.v4.app.Fragment;
  2. public abstract class BaseFragment extends Fragment {
  3. /** Fragment当前状态是否可见 */
  4. protected boolean isVisible;
  5. //setUserVisibleHint  adapter中的每个fragment切换的时候都会被调用,如果是切换到当前页,那么isVisibleToUser==true,否则为false
  6. @Override
  7. public void setUserVisibleHint(boolean isVisibleToUser) {
  8. super.setUserVisibleHint(isVisibleToUser);
  9. if(isVisibleToUser) {
  10. isVisible = true;
  11. onVisible();
  12. } else {
  13. isVisible = false;
  14. onInvisible();
  15. }
  16. }
  17. /**
  18. * 可见
  19. */
  20. protected void onVisible() {
  21. lazyLoad();
  22. }
  23. /**
  24. * 不可见
  25. */
  26. protected void onInvisible() {
  27. }
  28. /**
  29. * 延迟加载
  30. * 子类必须重写此方法
  31. */
  32. protected abstract void lazyLoad();
  33. }

列如:

  1. public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
  2. View view = inflater.inflate(R.layout.fragment, container, false);
  3. contentText = (TextView) view.findViewById(R.id.content);
  4. progressBar = (ProgressBar) view.findViewById(R.id.progressbar);
  5. isPrepared = true;
  6. lazyLoad();
  7. return view;
  8. }
  9. @Override
  10. protected void lazyLoad() {
  11. if (!isPrepared || !isVisible || mHasLoadedOnce) {
  12. return;
  13. }
  14. new AsyncTask<Void, Void, Boolean>() {

Fragment实现延迟加载的更多相关文章

  1. ViewPager -- Fragment 切换卡顿 性能优化

    当ViewPager切换到当前的Fragment时,Fragment会加载布局并显示内容,如果用户这时快速切换ViewPager,即 Fragment需要加载UI内容,而又频繁地切换Fragment, ...

  2. android中fragment卡顿的原因

    首页的ViewPager有十几个Fragment,在快速切换的时候,容易产生卡顿现象. 二.分析当ViewPager切换到当前的Fragment时,Fragment会加载布局并显示内容,如果用户这时快 ...

  3. ViewPager+Fragment取消预加载(延迟加载)(转)

    原文:http://www.2cto.com/kf/201501/368954.html 在项目中,都或多或少地使用的Tab布局,所以大都会用到ViewPager+Fragment,但是Fragmen ...

  4. Android中ViewPager+Fragment取消(禁止)预加载延迟加载(懒加载)问题解决方案

    转载请注明出处:http://blog.csdn.net/linglongxin24/article/details/53205878本文出自[DylanAndroid的博客] Android中Vie ...

  5. ViewPager+Fragment取消预加载(延迟加载)

    在项目中,都或多或少地使用的Tab布局,所以大都会用到ViewPager+Fragment,但是Fragment有个不好或者太好的地方.例如你在ViewPager中添加了三个Fragment,当加载V ...

  6. [Android]实现类似微信的延迟加载的Fragment——LazyFragment

    以下内容为原创,转载请注明: 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/4303910.html  参考微信,使用ViewPager来显示不同的t ...

  7. 实现类似微信的延迟加载的Fragment——LazyFragment

    参考微信,使用ViewPager来显示不同的tab,每个tab是一个Fragment, 假设有3个tab,对应的fragment是FragmentA.FragmentB.FragmentC 需要实现的 ...

  8. Android Fragment 生命周期及其API使用(建议使用自定义View替换Fragment)

    我为什么不主张使用Fragment Fragment:( Fragment就相当于一个有生命周期的View,它的生命周期被所在的Activity的生命周期管理 ) 生命周期回调说明: onAttach ...

  9. Android Fragment 生命周期及其正确使用(建议使用自定义View替换Fragment)

    使用Fragment 官方例子中显示: 例如:一个学生Fragment,需要传入studentId,进行http请求显示,那么setArguments后防止杀掉Fragment后,参数为0,显示不了数 ...

随机推荐

  1. git的一些常用方法

    1.撤销add但未commit的文件: git rm -r --cached path/file 2.git 撤销commit: 2.1).git log-显示提交的历史 commit ee50348 ...

  2. python成长之路【第四篇】:装饰器

    实现装饰器的知识储备: 示例: def f1(): print("f1") 1.函数即“变量” #上面的示例中,函数f1为变量,它指向内存地址.而f1()表示函数执行. 2.高阶函 ...

  3. 机器学习职位 & 面经

    http://www.cnblogs.com/peileyuan/p/4775453.html <浅谈机器学习的职业发展方向> http://blog.sina.com.cn/s/blog ...

  4. TCP/IP协议学习(二) LWIP用户自定义配置文件解析

    LWIP协议支持用户配置,可以通过用户裁剪实现最优化配置,LWIP默认包含opts.h作为系统默认配置,不过通过添加lwipopts.h文件并包含在opts.h头文件之前就可以对lwip进行用户裁剪, ...

  5. AlwaysOn与数据库镜像端点问题

    今天在搭建一个测试环境的时候发现一个问题,我将AlwaysOn环境中某节点上的某个非可用性组里的数据库想实时备份到另外一台服务器上,因此我找了一个没有加域的工作组的服务器,与AlwaysOn主节点去搭 ...

  6. ubuntu忘记密码怎么办

    刚安装了,ubuntu14.04,就想着,如果忘记登录密码,这可不好办,所以测试下开机,刚过bios显示画面,不停的点击,,键盘左边的shift键.(因为刚开始是采用按着不放的办法,结果不灵.所以我不 ...

  7. mysql查询结果输出到文件

    mysql查询结果导出/输出/写入到文件 方法一: 直接执行命令: mysql> select count(1) from table  into outfile '/tmp/test.xls' ...

  8. 如何搭建一个linux服务器

    1, 首先 下载一个linux server 系统镜像 ubuntu 64bit下载 http://www.ubuntu.com/download/server/thank-you/?version= ...

  9. python中元组(tuple)的用法

    t=(1,2,3) t=() t=(1,)#元组中只有一个值,需在值后面加上,不然会当int型识别 te.count(1) te.index(2) te[::-1]#关于切片跟列表一样的 tuple的 ...

  10. PDF 补丁丁 0.4.3.1582 测试版发布:修复上一测试版的问题

    新的测试版修复了上一测试版在各功能的文件列表中无法更改单元格文本等一系列问题. 软件界面也略有调整,使新测试版更容易使用.建议下载了旧测试版的用户马上更新到新的测试版.