2014-8-19
package com.example.demo;
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.support.v4.view.ViewPager;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
public class MainActivity extends ActionBarActivity {
private List viewList;
private ViewPager pager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_main);
viewList = new ArrayList();
/**
* 通过View对象去作为ViewPager的数据源
*
* 把布局转成View
* View.inflate(context, resource, root)
* @context: 上下文
* @resource: 布局文件id
*/
View view1 = View.inflate(this, R.layout.view1, null);
View view2 = View.inflate(this, R.layout.view2, null);
View view3 = View.inflate(this, R.layout.view3, null);
View view4 = View.inflate(this, R.layout.view4, null);
viewList.add(view1);
viewList.add(view2);
viewList.add(view3);
viewList.add(view4);
//初始化 ViewPager
pager = (ViewPager) findViewById(R.id.pager);
//创建ViewPager适配器
MyPagerAdaper adapter = new MyPagerAdaper(viewList);
//ViewPager加载适配器
pager.setAdapter(adapter);
}
}
package com.example.demo;
import java.util.List;
import android.support.v4.view.PagerAdapter;
import android.view.View;
import android.view.ViewGroup;
public class MyPagerAdaper extends PagerAdapter{
private List viewList;
public MyPagerAdaper(List viewList){
this.viewList = viewList;
}
/**
* 返回页卡的数量
*/
@Override
public int getCount() {
// TODO 自动生成的方法存根
return viewList.size();
}
/**
* View是否来自对象
* 官方文档里面使用: return arg0 == arg1;
*/
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO 自动生成的方法存根
return arg0 == arg1;
}
/**
* 实例化页卡
*/
@Override
public Object instantiateItem(ViewGroup container, int position) {
// TODO 自动生成的方法存根
container.addView(viewList.get(position));
return viewList.get(position);
}
/**
* 销毁一个页卡
*/
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
// TODO 自动生成的方法存根
container.removeView(viewList.get(position));
}
}