Android 的PagerAdapter用法详解

版权所有,禁止匿名转载;禁止商业使用。
 

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;//官方提示这样写  
        }  
    } 

 


0 0