全网整合营销服务商

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

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

android中ViewPager结合Fragment进行无限滑动

实现ViewPager结合Fragment实现无限循环切换,这里也是在适配器里面进行的,当然使用滑动监听也能够实现

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.view.ViewGroup;

import java.util.ArrayList;

public class adapter extends FragmentPagerAdapter
{
  private ArrayList<Fragment> fragmentList;
  public adapter(FragmentManager fm)
  {
    super(fm);
  }
  public adapter(FragmentManager fm, ArrayList<Fragment> fragmentList)
  {
    super(fm);
    this.fragmentList=fragmentList;
  }
  @Override
  public Fragment getItem(int position)
  {
    //在这里不处理position的原因是因为getItem方法在
    //instantiateItem方法中调用。只要在调用前处理
    //position即可,以免重复处理

    return fragmentList.get(position);
  }

  @Override
  public int getCount() 
  {
    return Integer.MAX_VALUE;
  }

  @Override
  public int getItemPosition(Object object) 
  {
    return super.getItemPosition(object);
  }

  @Override
  public Object instantiateItem(ViewGroup container, int position) 
  {
    //处理position。让数组下标落在[0,fragmentList.size)中,防止越界
    position = position % fragmentList.size();

    return super.instantiateItem(container, position);
  }

}

经过实际检验,要传进4个fragment,否则往右边滑动会出现问题,原因不知......

想要实现答题界面的翻页效果便可以采用这种方法,可以建立一个ReadFragment,然后new 出4个这个Fragment的对象。不同页面的共同的处理可以直接在ReadFragment里头实现,翻页的时候每一页需要改变的参数可以在滑动监听器里获取这4个对象来实现。

    Fragment a=new ReadFragment();
    Fragment b=new ReadFragment();
    Fragment c=new ReadFragment();
    Fragment d=new ReadFragment();

    list=new ArrayList<Fragment>();
    list.add(a);
    list.add(b);
    list.add(c);
    list.add(d);

    readViewPager.setAdapter(new adapter(getSupportFragmentManager(),list));
readViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener()
    {
      @Override
      public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels)
      {}

      @Override
      public void onPageSelected(int position)
      {
        //处理position。让position落在[0,fragmentList.size)中,防止数组越界
        position = position % list.size();
        ReadFragment fragment= (ReadFragment) list.get(position); //获得此时选中的fragment
        fragment.refreshState(); //翻页的时候每个页面需要改变的参数使用这个方法来实现,这个方法在ReadFragment里面,修饰器得使用public
        ...
      }

      @Override
      public void onPageScrollStateChanged(int state)
      {}
    });

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# viewpager无限滑动  # viewpager  # fragment  # 无限滑动的viewpager  # Android中TabLayout+ViewPager 简单实现app底部Tab导航栏  # Android自定义ViewPagerIndicator实现炫酷导航栏指示器(ViewPager+F  # Android ViewPager实现轮播图效果  # Android实现基于ViewPager的无限循环自动播放带指示器的轮播图CarouselFigur  # Android ViewPager加载图片效果  # Android中ViewPager获取当前显示的Fragment  # 详解Android_性能优化之ViewPager加载成百上千高清大图oom解决方案  # Android实现Tab布局的4种方式(Fragment+TabPageIndicator+View  # Android画廊效果之ViewPager显示多个图片  # Android使用自定义PageTransformer实现个性的ViewPager动画切换效果  # 翻页  # 落在  # 来实现  # 是在  # 在这里  # 是因为  # 便可  # 可以直接  # 建立一个  # 使用这个  # 大家多多  # 往右  # 器里  # 这种方法  # 只要在  # lt  # gt  # pre  # adapter  # private 


相关文章: 制作电商网页,电商供应链怎么做?  寿县云建站:智能SEO优化与多行业模板快速上线指南  如何选择最佳自助建站系统?快速指南解析优劣  建站之星后台密码遗忘或太弱?如何重置与强化?  Android使用GridView实现日历的简单功能  武汉网站设计制作公司,武汉有哪些比较大的同城网站或论坛,就是里面都是武汉人的?  如何快速生成橙子建站落地页链接?  建站主机如何安装配置?新手必看操作指南  C#如何在一个XML文件中查找并替换文本内容  历史网站制作软件,华为如何找回被删除的网站?  如何撰写建站申请书?关键要点有哪些?  如何用y主机助手快速搭建网站?  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  建站主机服务器选型指南与性能优化方案解析  学校建站服务器如何选型才能满足性能需求?  如何在阿里云通过域名搭建网站?  c++怎么实现高并发下的无锁队列_c++ std::atomic原子变量与CAS操作【详解】  存储型VPS适合搭建中小型网站吗?  建站之星好吗?新手能否轻松上手建站?  建站之星上传入口如何快速找到?  建站之星如何配置系统实现高效建站?  ,有什么在线背英语单词效率比较高的网站?  详解jQuery中基本的动画方法  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  如何快速辨别茅台真假?关键步骤解析  建站之星安全性能如何?防护体系能否抵御黑客入侵?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  如何用免费手机建站系统零基础打造专业网站?  c++ stringstream用法详解_c++字符串与数字转换利器  详解jQuery停止动画——stop()方法的使用  建站之星客服服务时间及联系方式如何?  网站企业制作流程,用什么语言做企业网站比较好?  制作网站的基本流程,设计网站的软件是什么?  c++23 std::expected怎么用 c++优雅处理函数错误返回【详解】  如何在IIS中新建站点并配置端口与物理路径?  宝塔新建站点为何无法访问?如何排查?  javascript基本数据类型及类型检测常用方法小结  如何在阿里云购买域名并搭建网站?  建站之星后台密码如何安全设置与找回?  linux top下的 minerd 木马清除方法  C++时间戳转换成日期时间的步骤和示例代码  h5在线制作网站电脑版下载,h5网页制作软件?  建站主机选择指南:服务器配置与SEO优化实战技巧  *服务器网站为何频现安全漏洞?  如何自定义建站之星模板颜色并下载新样式?  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  如何选择靠谱的建站公司加盟品牌?  网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?  装修招标网站设计制作流程,装修招标流程? 

您的项目需求

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