/**
* this is a sample show how to use ViewPager
* edited by Kwanvin
*/
//Layout xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/multiview_layout"
android:background="#555555">
<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</LinearLayout>
//import we need to use android.support.v4
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v4.view.ViewPager.OnPageChangeListener;
//define viewpager
private ViewPager mViewPager;
private ArrayList<View> mViewsList;
//data init
mViewPager = (ViewPager)findViewById(R.id.pager);
mViewsList = new ArrayList<View>();
mViewsList.add(getLayoutInflater().inflate(R.layout.activity_dvd,null));
mViewsList.add(getLayoutInflater().inflate(R.layout.activity_tv,null));
mViewsList.add(getLayoutInflater().inflate(R.layout.activity_light,null));
//setAdapter
mViewPager.setAdapter(new MyPagerAdapter());
//setPageChangeListerner
mViewPager.setOnPageChangeListener(new MyPagerOnPageChangeListener());
private class MyPagerAdapter extends PagerAdapter{
@Override
public void destroyItem(View v, int position, Object obj) {
// TODO Auto-generated method stub
((ViewPager)v).removeView(mViewsList.get(position));
}
@Override
public void finishUpdate(View arg0) {
// TODO Auto-generated method stub
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return mViewsList.size();
}
@Override
public Object instantiateItem(View v, int position) {
((ViewPager)v).addView(mViewsList.get(position));
return mViewsList.get(position);
}
@Override
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
}
}
private class MyPagerOnPageChangeListener implements OnPageChangeListener{
@Override
public void onPageScrollStateChanged(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 position) {
// TODO Auto-generated method stub
Log.d(TAG, "PageSelected="+position);
}
}