转载自:http://www.cnblogs.com/lee0oo0/p/3713391.html

Android之取消ViewPage+Fragment的预加载

用过ViewPage+Fragment组合的童鞋自然知道这个问题,没有遇到的同学祝愿你们永远不会遇到,呵呵。直接上关键代码

注释:setUserVisibleHint每次fragment显示与隐藏都会调用,他的调用顺序由于onCreate,所以需要一些常量进行判断

1 2 3 4 5 6 7 8 9 10 11 12 13 private  boolean  mHasLoadedOnce =  false ; @Override      public  void  setUserVisibleHint( boolean  isVisibleToUser) {          if  ( this .isVisible()) {              // we check that the fragment is becoming visible              if  (isVisibleToUser && !mHasLoadedOnce && mArrayList== null ) {                                                    // async http request here                  mHasLoadedOnce =  true ;              }          }          super .setUserVisibleHint(isVisibleToUser);      }


由于setUserVisibleHint优于onCreate调用,所以当onCreate调用完毕setUserVisibleHint就不会触发,这时需要在首个显示的fragment调用setUserVisibleHint方法

1 2 3 4 5 6 @Override      public  void  onActivityCreated(Bundle savedInstanceState) {          // TODO Auto-generated method stub          setUserVisibleHint( true );          super .onActivityCreated(savedInstanceState);      }

这个是设置viewpager保留多少个显示界面,也就是设置预加载fragment的个数:

1 pager.setOffscreenPageLimit( 3 );









更多相关文章

  1. Java乔晓松-android中调用系统拍照功能并显示拍照的图片
  2. android如何为listview的每项中edittext控件添加textwacher
  3. Android在代码中打开Wifi、移动网络和GPS
  4. ViewPage滑动加载大图和点击关注效果《IT蓝豹》
  5. android中Bitmap用法(显示,保存,缩放,旋转)实例分析
  6. Android中CMake的使用之四调用第三方库的实战
  7. React Native开发指南
  8. Android开发之Camera分析(二)
  9. 【 Android(安卓)10 系统启动 】系列 -- Launcher(应用门户)

随机推荐

  1. 做android遇到有问题有感
  2. Android优秀开源项目
  3. 按着步骤来,学习Android NDK入门很简单
  4. Android产品开发经验谈
  5. android 自动获取短信验证码
  6. android 自定义视图——onMeasure,Measure
  7. Android权限系统
  8. 编译android 之后生成的 img 文件介绍
  9. android - 模拟器连接本地tomcat
  10. Android webview 应用