package com.example.ipcplayer.adapter; import java.util.ArrayList; import java.util.List; import android.os.Parcelable; import android.support.v4.view.PagerAdapter; import android.support.v4.view.ViewPager; import android.view.View; import android.view.ViewGroup; public class ViewPagerAdapter extends PagerAdapter{ private List<View> mViewList = new ArrayList<View>(); private List<String> mTitles = new ArrayList<String>(); private ViewPager mViewPager; public ViewPagerAdapter(List<View> views, List<String> titles){ mViewList = views; mTitles = titles; } public void addView(View view){ mViewList.add(view); } public void clearViews(){ if(mViewPager != null){ mViewPager.removeAllViews(); mViewList.clear(); } } private View findView(int position){ View view = mViewList.get(position); return view; } @Override public int getCount() { return mViewList.size(); } @Override public boolean isViewFromObject(View arg0, Object arg1) { return arg0 == arg1; } @Override public void destroyItem(ViewGroup container, int position, Object object) { ViewPager viewPager = (ViewPager) container; View view = findView(position); viewPager.removeView(view); } @Override public void finishUpdate(ViewGroup container) { super.finishUpdate(container); } @Override public int getItemPosition(Object object) { return super.getItemPosition(object); } @Override public CharSequence getPageTitle(int position) { return mTitles.get(position); } @Override public Object instantiateItem(ViewGroup container, int position) { ViewPager viewPager = (ViewPager) container; if(mViewPager != viewPager){ mViewPager = viewPager; } View view = findView(position); viewPager.addView(view); return view; } @Override public void notifyDataSetChanged() { super.notifyDataSetChanged(); } @Override public void restoreState(Parcelable state, ClassLoader loader) { super.restoreState(state, loader); } @Override public Parcelable saveState() { return super.saveState(); } @Override public void setPrimaryItem(ViewGroup container, int position, Object object) { super.setPrimaryItem(container, position, object); } @Override public void startUpdate(ViewGroup container) { super.startUpdate(container); } }