使用ViewPager实现页面之间的跳转

Posted EdwardRu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用ViewPager实现页面之间的跳转相关的知识,希望对你有一定的参考价值。

Activity代码

public class MainActivity extends AppCompatActivity {
    private List<View> list;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        list= new ArrayList<View>();
        /**
         * 通过view对象作为viewpager的数据源
         */
        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);
        list.add(view1);
        list.add(view2);
        list.add(view3);
        list.add(view4);
        //创建pageadapter
        Mypageadapter mypageadapter= new Mypageadapter(list);
        //初始化viewpager
        ViewPager pager= (ViewPager)findViewById(R.id.viewpager);
        //加载适配器
        pager.setAdapter(mypageadapter);

    }
}

 总体的思路是创建一个View的list集合,通过inflate方法将页面转化为view,初始化list并添加view为元素,初始化viewpager并加载适配器

pageradapter代码

public class Mypageadapter extends PagerAdapter {
    private List<View> viewList;
    public  Mypageadapter(List<View>viewList){
        this.viewList=viewList;
    }
    //返回页卡的数量
    @Override
    public int getCount() {
        return viewList.size();
    }
    //page是否来自于对象
    @Override
    public boolean isViewFromObject(View view, Object object) {
        return view==object;
    }
    /*
    * 实例化一个页卡
    * */
    @Override
    public Object instantiateItem(ViewGroup container, int position) {
        container.addView(viewList.get(position));
        return viewList.get(position);
    }
    //销毁一个页卡
    @Override
    public void destroyItem(ViewGroup container, int position, Object object) {
        container.removeView(viewList.get(position));

    }
}

 继承pageradapter方法,创建一个有参的构造方法,在Activity中调用时将LIstVIew传递进来

除了实现的两个方法之外还要实现一个初始化页卡的方法和另一个销毁页卡的方法

以上是关于使用ViewPager实现页面之间的跳转的主要内容,如果未能解决你的问题,请参考以下文章

java软件里面的跳转页面代码实现

Android Studio 使用Intent实现页面的跳转(带参数)

ASP.net中论坛各页面之间的跳转(注:跳转到指定的用户名)

JQuery实现网页的跳转

silverlight4里面怎么实现xaml页面之间的跳转

java中如何做到界面的跳转?