三步走
第一步:准备好ViewPager的内容,随时待命
LayoutInflater mInflater = getLayoutInflater().from(this);
View v1 = mInflater.inflate(R.layout.viewpager1, null);
View v2 = mInflater.inflate(R.layout.viewpager2, null);
View v3 = mInflater.inflate(R.layout.viewpager3, null);
//添加页面数据
ArrayList<View> VPviewList = new ArrayList<View>();
VPviewList.add(v1);
VPviewList.add(v2);
VPviewList.add(v3);
第二步:准备好适配器,随时待命
class MyViewPagerAdapter extends PagerAdapter{
private ArrayList<View> mListViews;
public MyViewPagerAdapter(ArrayList<View> 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);//添加第position个页卡
return mListViews.get(position);
}
@Override
public int getCount() {
return mListViews.size();//返回页卡的数量
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0==arg1;//官方提示这样写
}
}
第三步:合起来
mViewPager.setAdapter(new MyViewPagerAdapter(VPviewList));
mViewPager.setCurrentItem(0); //设置默认当前页