• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >Android > ViewPager结合Fragment进行无限滑动,viewpagerfragment

ViewPager结合Fragment进行无限滑动,viewpagerfragment

作者:网友 字体:[增加 减小] 来源:互联网 时间:2017-05-26

网友通过本文主要向大家介绍了fragmentviewpager,viewpager加fragment,fragment中viewpager,scrollview viewpager,viewpager view等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

ViewPager结合Fragment进行无限滑动,viewpagerfragment


 

实现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); } }

以上参考:博客http://www.ilrose.com/blog/2015/12/09/android-viewpager%E5%AE%9E%E7%8E%B0%E6%97%A0%E9%99%90%E5%BE%AA%E7%8E%AF%E6%BB%91%E5%8A%A8/ 

经过实际检验,要传进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) {} });

以上便可以实现答题翻页。当然少不了翻页动画的实现,这个下一篇博客单独讲

 

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • ViewPager结合Fragment进行无限滑动,viewpagerfragment
  • ViewPager和Fragment的组合使用,viewpagerfragment

相关文章

  • 2017-05-26【同行说技术】Android程序员从小白到大神必读资料汇总(四),android资料汇总
  • 2017-05-26Android 知识Tips,android知识tips
  • 2017-05-26【原】tinker dex文件格式的dump工具tinker-dex-dump,dextinker-dex-dump
  • 2017-05-26【Android】由浅到深理解AIDL
  • 2017-05-26Android代码优化小技巧,android代码小技巧
  • 2017-05-26HBase Java编程示例
  • 2017-05-26Android自定义控件系列案例【四】
  • 2017-05-26Android 性能分析工具之 TraceView 使用说明
  • 2017-05-26手把手教你打造一个心电图效果View Android自定义View
  • 2017-05-26AndRodi Strudio中的按钮时件,androdistrudio

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 实现在矩形框中输入文字,可以显示剩余字数的功能,矩形字数
    • 整理几篇比较好的AndroidUI动画开发文章,几篇androidui
    • 安卓下如何使用JUnit进行软件测试,安卓junit
    • MTK处理器手机 解锁Bootloader 教程,mtkbootloader
    • 谷歌IAP:skusBundle array associated with key ITEM_ID_LIST cannot contain more than 20 items.,jsarraycontain
    • Android6.0权限管理
    • Android Studio项目提交到GitHub,androidgithub
    • Android中AsyncTask分析--你所不注意的坑,androidasynctask
    • Android一些不太常用XML文件属性的总结
    • Android之Pull解析XML,androidpullxml

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有