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