前言

之前在做一个Viewpager上面加载多个Fragment时总会实例化已经创建好的Fragmnet对象类似

viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {

@Override

public Fragment getItem(int position) {

switch(position){

case 0:

fragments=new Fragmnet01();

break;

case 1:

fragments=new Fragmnet02();

break;

.....

}

return fragments;

}

@Override

public int getCount() {

return listTabs.size();

}

});

其实仔细想一下,这样是很不合理的,首先你一直实例化对内存是一种浪费另外Viewpager具有预加载性当我们加载某一个Fragmnet时它就会把它的左边和右边都会加载(开头和结尾例外。)所以为了防止重复加载浪费资源,我们可以使用一个对象数组来加载fragment,当每次位置为空的时候我们就可以在该位置上面加载一个布局具体代码

//定义一个对象数组并给定长度

fragments=new MyFragment[listTabs.size()];

viewPager.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {

@Override

public Fragment getItem(int position)

{

//在这里判断如果Fragmnet[position]当前页面没有加载的话我们再次在上面加载

if(fragments[position]==null){

//这里只是写一个构造方法把值传到fragment里面

MyFragment my = MyFragment.getInstance(listTabs.get(position).getId());

fragments[position]=my;

}

return fragments[position];

}

@Override

public int getCount() {

return listTabs.size();

}

});

在fragment里面当然你也可以用bundler来传值。

public static MyFragment getInstance(int id){

MyFragment myFragment=new MyFragment();

Bundle bundle=new Bundle();

bundle.putInt("id",id);

myFragment.setArguments(bundle);

return myFragment;

}

以上所述是小编给大家介绍的Android开发中如何解决Fragment +Viewpager滑动页面重复加载的问题 ,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

android viewpager fragment传值,Android开发中如何解决Fragment +Viewpager滑动页面重复加载的问题...相关推荐

  1. java做直播需要哪些技术_直播APP开发中需要解决哪些技术难点?千联信息

    泛娱乐发展的火热,网红经济不断发酵的今天,不少企业靠着开发直播APP狠狠的赚了一波,导致很多人眼红,也想投入其中. 那么开发一款直播APP开发中需要解决哪些技术难点?小编在这里就来为大家解答: 视频直 ...

  2. 移动端微信公众号页面开发中 使用了footer标签导致页面错位

    移动端微信公众号页面开发中 使用了< footer>标签导致页面错位 之前也用过这个标签没出现过此类问题 在微信开发者工具中发现把footer 改成div 样式就正常了

  3. android treeview 树形结构,前端开发中,使用TreeView控件创建树形结构

    原标题:前端开发中,使用TreeView控件创建树形结构 Wijmo是一款使用Type编写的新一代Java/HTML5控件集.它秉承触控优先的设计理念,在全球率先支持AngularJS,并提供性能卓越 ...

  4. 微信小程序开发中如何实现侧边栏的滑动效果?

    原文链接:https://mp.weixin.qq.com/s/7CM18izpZqf0oc0D75IGmQ 1 概述 在手机应用的开发中侧边栏滑动是很常见的功能,当然在小程序中也不会例外,很多特效还 ...

  5. jsp/html开发中常用的JS代码和页面特效代码

    1.jsp/html开发中常用的JS代码 1.后退 前进 <input type="button" value="后退" onClick="hi ...

  6. android java 调用栈_Android开发中打印方法调用栈

    概要 在日常开发和debug的过程中,我们都需要看看某一个方法的调用StackTrace,如果是crash或者异常被抛出的情况下会直接看到对应的StackTrace,如: 39 5939 E Andr ...

  7. android usb设置波特率,USB开发中设置波特率

    最近在做Android设备与外设通信,需要用的串口通信.如果使用android-serialport-api发现Android设备需要获取root权限,否则会报权限不足的异常.所以决定使用Androi ...

  8. android 多个fragment切换,一个Activity中多个Fragment的切换

    经常会遇到在一个activity界面上布局多个fragment,但是如何从一个fragment跳转到另一个fragment呢?今天在做项目中恰好遇到这样的问题,点击首页fragment的更多店铺,会切 ...

  9. android 画布旋转,Android-在安卓开发中,如何实现一个简单的图片旋转

    图像的旋转有很多方法,除了常见的使用动画和矩阵,还可以通过操作背景画布本身来旋转 现将正常的图像绘制到画布中,保存一次画布后整体旋转,然后再恢复画布,此时的图像便得到了旋转的效果,google 官方也 ...

最新文章

  1. 人字拖藏SIM卡、戴微型蓝牙耳机!为考教师岗,多人作弊被抓
  2. 如何在CentOS 7上安装Apache
  3. (AIDE)Android Eclipse JNI 调用 .so文件加载问题
  4. MATLAB从入门到精通-matlab计算多重复杂多边形重叠面积
  5. cgi备份还原和ghost有什么区别_装系统教程!如何用ghost安装系统(下)!小白也能变装机大神!...
  6. android:onClick attribute
  7. SAP Hybris install.bat工作原理分析
  8. 了解 DB2 Version 9.5 中的全局变量(转)
  9. oracle主键重复异常捕获,Oracle异常处理异常处
  10. [转载]DB2数据库移植罕见结果周全理会(3)
  11. 2013年9月份第2周51Aspx源码发布详情
  12. html 数据类型 text,客户端发现响应内容类型为“text/html; charset=utf-8”,但应为“text/xml”。...
  13. 动词过去式和过去分词不规则变化
  14. CNN网络的神经元是像素还是图片
  15. python逆时针旋转矩阵_由外向内顺时针逆时针旋转矩阵
  16. Xcode6 app沙盒目录
  17. 机械硬盘显示拒绝访问要怎样办啊
  18. 使用idea构建父子类springboot项目教程,并教你启动子项目(构建项目集合)
  19. Widar2.0:SAGE算法和SAGE算法在在无线信道参数估计中的应用
  20. js实现轮播图(简单滚动轮播)

热门文章

  1. 分布式消息队列 Kafka
  2. Xamarin 跨移动端开发系列(01) -- 搭建环境、编译、调试、部署、运行
  3. 2015第29周二AOP
  4. Linemod;理解
  5. H.264边缘块进行帧内预测时,上边缘和左边缘块的预测情况。
  6. 关于level_idc和Profile_IDC的解释
  7. x264_param_t参数注解
  8. 【TypeError: float() argument must be a string or a number, not ‘map’】
  9. 【sqlite常用操作SQL语句】
  10. 学习笔记(25):Python网络编程并发编程-Thread其他属性和守护线程