添加jar包 android-support-v4.jar
在布局文件中需要插入PageViewer的地方写入如下代码:
<android.support.v4.view.ViewPager
android:id="@+id/pageViewer2"
android:layout_width="match_parent"
android:layout_height="90dp" />
写子模块的layout和java文件(此处略);
在引用这个布局文件的java文件中,首先声明一个需要的变量来启动Intent,获取view:
private LocalActivityManager mManager;
(OnCreate中插入如下代码)
mManager = new LocalActivityManager(this,true);
mManager.dispatchCreate(savedInstanceState);
为pageviewer填充intent内容,写入如下代码:
/**
* 初始化PageViewer
*/
private void initPagerViewer1() {
final ArrayList<View> list = new ArrayList<View>();
Intent intent = new Intent(this, PageItemActivity.class);
intent.putExtra("Category","Friend_Channel");
intent.putExtra("Page","1");
list.add(getView("A", intent));
Intent intent2 = new Intent(this, PageItemActivity.class);
intent2.putExtra("Category","Friend_Channel");
intent2.putExtra("Page","2");
list.add(getView("B", intent2));
Intent intent3 = new Intent(this,PageItemActivity.class);
intent3.putExtra("Category","Friend_Channel");
intent3.putExtra("Page","3");
list.add(getView("C", intent3));
Intent intent4 = new Intent(this,PageItemActivity.class);
intent4.putExtra("Category","Friend_Channel");
intent4.putExtra("Page","4");
list.add(getView("D", intent4));
Intent intent5 = new Intent(this,PageItemActivity.class);
intent5.putExtra("Category","Friend_Channel");
intent5.putExtra("Page","5");
list.add(getView("E", intent5));
mPager1.setAdapter(new MyPagerAdapter(list));
mPager1.setCurrentItem(0);
}
/**
* 通过activity获取视图
* @param id
* @param intent
* @return
*/
private View getView(String id, Intent intent) {
return mManager.startActivity(id, intent).getDecorView();
}
为PageViewer实现自己的适配器:
/**
* Pager适配器
*/
public class MyPagerAdapter extends PagerAdapter {
List<View> list = new ArrayList<View>();
public MyPagerAdapter(ArrayList<View> list) {
this.list = list;
}
@Override
public void destroyItem(ViewGroup container, int position,
Object object) {
ViewPager pViewPager = ((ViewPager) container);
pViewPager.removeView(list.get(position));
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
@Override
public int getCount() {
return list.size();
}
@Override
public Object instantiateItem(View arg0, int arg1) {
ViewPager pViewPager = ((ViewPager) arg0);
pViewPager.addView(list.get(arg1));
return list.get(arg1);
}
@Override
public void restoreState(Parcelable arg0, ClassLoader arg1) {
}
@Override
public Parcelable saveState() {
return null;
}
@Override
public void startUpdate(View arg0) {
}
}