Android中PagerAdapter总结

Posted baorant

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android中PagerAdapter总结相关的知识,希望对你有一定的参考价值。

PagerAdapter简介

PagerAdapter是android.support.v4包中的类,它的子类有FragmentPagerAdapter、 FragmentStatePagerAdapter,这两个adapter都是Fragment的适配器,用于实现Fragment的滑动效果,这两个adapter的使用和区别这次就先不介绍了。

PagerAdapter主要是viewpager的适配器,而viewPager则也是在android.support.v4扩展包中新添加的一个强大的控件,可以实现控件的滑动效果,比如咱们在软件中常见的广告栏的滑动效果,用viewPager就可以实现。今天主要介绍如何使用viewPagr并重写PagerAdapter实现常见广告栏的滑动效果。

PagerAdapter用法简介

首先,如果继承pageradapter,至少必须重写下面的四个方法

1. instantiateItem(ViewGroup, int)
2. destroyItem(ViewGroup, int, Object)
3. getCount()
4. isViewFromObject(View, Object) 
下面我们以代码的形式,说明这四个方法的含义以及如何使用:

private class ViewPagerAdapter extends PagerAdapter {

        // 获取要滑动的控件的数量,在这里我们以滑动的广告栏为例,那么这里就应该是展示的广告图片的ImageView数量
        @Override
        public int getCount() {
            return images.size();
        }

        // 来判断显示的是否是同一张图片,这里我们将两个参数相比较返回即可
        @Override
        public boolean isViewFromObject(View arg0, Object arg1) {
            return arg0 == arg1;
        }

        // PagerAdapter只缓存三张要显示的图片,如果滑动的图片超出了缓存的范围,就会调用这个方法,将图片销毁
        @Override
        public void destroyItem(ViewGroup view, int position, Object object) {
            view.removeView(images.get(position));
        }

        // 当要显示的图片可以进行缓存的时候,会调用这个方法进行显示图片的初始化,我们将要显示的ImageView加入到ViewGroup中,然后作为返回值返回即可
        @Override
        public Object instantiateItem(ViewGroup view, int position) {
            view.addView(images.get(position));
            return images.get(position);
        }
    }

 

以上是关于Android中PagerAdapter总结的主要内容,如果未能解决你的问题,请参考以下文章

你如何扩展像Android.widget包中的DatePicker PagerAdapter这样的Android类?

Android PagerAdapter :: 将当前项目放入位图中

Android setVisibility无法在PagerAdapter中运行

android viewpager怎么使用 findviewbytag

如何使用 Android 的 PagerAdapter 类自动显示图像?

Android开发技巧——PagerAdapter实现类的封装