实现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小时内与您取得联系。