微信公众号制作开发 微信小程序定制开发 网站建设制作 手机app软件开发

您的位置:首页 > 技术观点 > 信息详情

Android 的PagerAdapter用法详解

来源:山东鸿软信息科技有限公司  阅读量:  时间:2016-11-06 22:11
PageAdapter是一个抽象类,直接继承于Object,导入包android.support.v4.view.PagerAdapter即可使用。其实PagerAdapter就是ViewPager提供的一个适配器,方便我们对各个View进行控制。那ViewPager又是什么呢?它是实现左右两个屏幕平滑地切换的一个类,具体的自己百度google…关于ViewPager的用法好多。

PagerAdapter用法


PageAdapter是一个抽象类,直接继承于Object,导入包android.support.v4.view.PagerAdapter即可使用。


关于PageAapter的描述,原文是这样的:Base class providing the adapter to populate pages inside of a ViewPager.  You will most likely want to use a more specific implementation of this, such as FragmentPagerAdapter or FragmentStatePagerAdapter。


其实PagerAdapter就是ViewPager提供的一个适配器,方便我们对各个View进行控制。那ViewPager又是什么呢?它是实现左右两个屏幕平滑地切换的一个类,具体的自己百度google…关于ViewPager的用法好多。

 

要使用PagerAdapter,首先要继承PagerAdapter类,然后至少覆盖以下方法

instantiateItem(ViewGroup, int) 

这个方法,return一个对象,这个对象表明了PagerAdapter适配器选择哪个对象*放在当前的ViewPager中

destroyItem(ViewGroup, int, Object)

这个方法,是从ViewGroup中移出当前View

 getCount() /**这个方法,是获取当前窗体界面数


 isViewFromObject(View, Object) 这个方法,在帮助文档中原文是could be implemented as return view == object,

*也就是用于判断是否由对象生成界面**/


public class MyViewPagerAdapter extends PagerAdapter{ 


        private List mListViews;  

          

        public MyViewPagerAdapter(List mListViews) {  

            this.mListViews = mListViews;//构造方法,参数是我们的页卡,这样比较方便。  

        }  

  

        @Override  

        public void destroyItem(ViewGroup container, int position, Object object)   {     

            container.removeView(mListViews.get(position));//删除页卡  

        }  

  

  

        @Override  

        public Object instantiateItem(ViewGroup container, int position) {  //这个方法用来实例化页卡         

             container.addView(mListViews.get(position), 0);//添加页卡  

             return mListViews.get(position);  

        }  

  

        @Override  

        public int getCount() {           

            return  mListViews.size();//返回页卡的数量  

        }  

          

        @Override  

        public boolean isViewFromObject(View arg0, Object arg1) {             

            return arg0==arg1;//官方提示这样写  

        }  

    } 


成为您更加专业的技术合伙人

网站建设 | APP开发 | 产品服务 | 技术观点 | 关于我们      电话:151-6502-2080  客服QQ:1828087588、1421667633  客服电子邮箱:1828087588@qq.com

Copyright © 2020 山东鸿软信息科技有限公司 版权所有 https://www.greatsoft.cn 鲁ICP备16026454号