//ViewPager的适配器继承于PagerAdapter基类,并实现以下四个方法
private class MyPagerAdapter extends PagerAdapter{
private List<View> mListView;
privateMyPagerAdapter(List<View> list) {
// TODO Auto-generated method stub
this.mListView= list;
}
//销毁position位置的界面
public void destroyItem(View arg0, int arg1, Object arg2) {
// TODO Auto-generated method stub
((ViewGroup)arg0).removeView(mListView.get(arg1));
}
@Override
public void finishUpdate(View arg0) {
// TODO Auto-generated method stub
}
获取当前窗体界面数
public int getCount() {
// TODO Auto-generated method stub
return mListView.size();
}
//初始化position位置的界面
@Override
public Object instantiateItem(View arg0, int arg1) {
// TODO Auto-generated method stub
((ViewGroup)arg0).addView(mListView.get(arg1), 0);
return mListView.get(arg1);
}
// 判断是否由对象生成界面
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return arg0==(arg1);
}
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {
// TODO Auto-generated method stub
}
@Override
public Parcelable saveState() {
// TODO Auto-generated method stub
return null;
}
@Override
public void startUpdate(View arg0) {
// TODO Auto-generated method stub
}
}
监听页面变化:
viewPager.setOnPageChangeListener(newOnPageChangeListener(){
@Override
public voidonPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
@Override
public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}
@Override
public void onPageSelected(int arg0) {
System.out.println("onPageSelected = " + arg0);
if(arg0 == 0)
viewPager.setCurrentItem(3);
else if(arg0 == listViews.size() - 1)
viewPager.setCurrentItem(1);
}
});
参数解释:
ViewPager的onPageChangeListener里面的一些方法参数:
(1)onPageSelected(int arg0){
}
arg0是表示你当前选中的页面,这事件是在你页面跳转完毕的时候调用的。
(2)public void onPageScrollStateChanged(int arg0) {
// TODO Auto-generated method stub
}
arg0 ==1的时候表示正在滑动,arg0==2的时候表示滑动完毕了,arg0==0的时候表示什么都没做,就是停在那。
(3)public void onPageScrolled(int arg0, float arg1, int arg2) {
// TODO Auto-generated method stub
}表示在前一个页面滑动到后一个页面的时候,在前一个页面滑动前调用的方法。