Viewpager的简单使用

来源:互联网 发布:4gip网络加速器.apk 编辑:程序博客网 时间:2024/03/29 18:03
public class MainActivity extends AppCompatActivity implements View.OnClickListener {    private Button btn1,btn2;    private ViewPager pager;    @Override    protected void onCreate( Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        btn1 = (Button) findViewById(R.id.btn1);        btn2 = (Button) findViewById(R.id.btn2);        pager = (ViewPager) findViewById(R.id.pager1);        btn1.setOnClickListener(this);        btn2.setOnClickListener(this);        List<View> views = new ArrayList<>();        LayoutInflater inflater = getLayoutInflater();        View view1 = inflater.inflate(R.layout.layout_one,null);        View view2 = inflater.inflate(R.layout.layout_two,null);        views.add(view1);        views.add(view2);        MyPagerAdapter adapter = new MyPagerAdapter(this,views);        pager.setAdapter(adapter);    }    //通过按钮的点击事件,让viewpager跳转    @Override    public void onClick(View view) {        switch (view.getId())        {            case R.id.btn1:                pager.setCurrentItem(0);                break;            case R.id.btn2:                pager.setCurrentItem(1);                break;            default:                break;        }    }}
<span style="font-size:24px;"> PagerAdapter必须实现四个方法:</span>
<pre name="code" class="java">public class MyPagerAdapter extends PagerAdapter {    private Context context;    private List<View> viewList;    MyPagerAdapter(Context context,List<View> viewList)    {         this.context = context;         this.viewList = viewList;    }   
    //初始化item里面的视图,一定要把当前的视图放进container,这样才能实现滚动效果    @Override    public Object instantiateItem(ViewGroup container, int position) {        container.addView(viewList.get(position));        return viewList.get(position);    }
    //销毁item时要把对应的view从container中移除    public void destroyItem(ViewGroup container, int position, Object object) {        super.destroyItem(container, position, object);        container.removeView(viewList.get(position));    }    //返回视图的个数    @Override    public int getCount() {        return viewList.size();    }    @Override    public boolean isViewFromObject(View view, Object object) {        return view == object;    }}



0 0