ViewPager的使用方法和ListView是一样的,绑定一个适配器就好了,关键在于适配器的编写。
ViewPager的适配器要继承PagerAdapter类,同时要复写getCount()、isViewFromObject()、instantiateItem()和destroyItem()四个方法。ADT插件只会提示复写getCount()、isViewFromObject()两个方法,但实际上如果只写这两个方法,运行时会抛出异常,提示需要调用的方法没有被复写。
instantiateItem()方法是把指定视图添加到ViewPager中,destroyItem()是将视图从ViewPager中删掉。
以下是一个适配器类的参考代码:
import java.util.ArrayList;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
public class MyPagerAdapter extends PagerAdapter {
private ArrayList<View> mPagerViews = null;
public MyPagerAdapter(ArrayList<View> mPagerViews) {
this.mPagerViews = mPagerViews;
}
@Override
public int getCount() {
return mPagerViews.size();
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
@Override
public Object instantiateItem(View collection, int position) {
((ViewPager) collection).addView(mPagerViews.get(position));
return mPagerViews.get(position);
}
@Override
public void destroyItem(View collection, int position, Object view) {
((ViewPager) collection).removeView(mPagerViews.get(position));
}
}