全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android开发中如何解决Fragment +Viewpager滑动页面重复加载的问题

前言

之前在做一个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滑动页面重复加载  # android滑动页面加载  # android页面重复加载  # Android ViewPager + Fragment实现滑动页面效果  # Android仿今日头条滑动页面导航效果  # Android实现欢迎滑动页面  # 加载  # 小编  # 在这里  # 是一种  # 多个  # 你也  # 可以用  # 给大家  # 做一个  # 总会  # 可以使用  # 当我们  # 在上面  # 会把  # 它就  # 很不  # 如何解决  # 所述  # 为了防止  # 给我留言 


相关文章: 车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  微信小程序制作网站有哪些,微信小程序需要做网站吗?  制作网站怎么制作,*游戏网站怎么搭建?  重庆网站制作公司哪家好,重庆中考招生办官方网站?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  岳西云建站教程与模板下载_一站式快速建站系统操作指南  如何使用Golang table-driven基准测试_多组数据测量函数效率  如何确认建站备案号应放置的具体位置?  网站按钮制作软件,如何实现网页中按钮的自动点击?  建站之星导航如何优化提升用户体验?  武清网站制作公司,天津武清个人营业执照注销查询系统网站?  如何在景安服务器上快速搭建个人网站?  如何在腾讯云服务器快速搭建个人网站?  javascript中的try catch异常捕获机制用法分析  宝塔面板如何快速创建新站点?  如何在企业微信快速生成手机电脑官网?  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  广东企业建站网站优化与SEO营销核心策略指南  高端智能建站公司优选:品牌定制与SEO优化一站式服务  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  建站之星后台管理如何实现高效配置?  企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  如何在建站之星绑定自定义域名?  招贴海报怎么做,什么是海报招贴?  广德云建站网站建设方案与建站流程优化指南  网站制作模板下载什么软件,ppt模板免费下载网站?  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  如何高效搭建专业期货交易平台网站?  如何在服务器上配置二级域名建站?  广州美橙建站如何快速搭建多端合一网站?  建站之星与建站宝盒如何选择最佳方案?  建站之星安装后界面空白如何解决?  ,想在网上投简历,哪几个网站比较好?  大型企业网站制作流程,做网站需要注册公司吗?  C++如何使用std::optional?(处理可选值)  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  建站之星免费模板:自助建站系统与智能响应式一键生成  网站图片在线制作软件,怎么在图片上做链接?  如何配置WinSCP新建站点的密钥验证步骤?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  网页设计网站制作软件,microsoft office哪个可以创建网页?  网站制作的方法有哪些,如何将自己制作的网站发布到网上?  合肥做个网站多少钱,合肥本地有没有比较靠谱的交友平台?  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  建站中国官网:模板定制+SEO优化+建站流程一站式指南  制作农业网站的软件,比较好的农业网站推荐一下?  手机网站制作与建设方案,手机网站如何建设?  微信小程序 五星评分(包括半颗星评分)实例代码  平台云上自主建站:模板化设计与智能工具打造高效网站 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。