A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1黑马币
本帖最后由 xiaoqing 于 2015-11-29 18:35 编辑

在开发Android应用时,经常用的ViewPager来展现多页面滑动显示的效果,而适配器模式则是Android里常见的设计模式。PagerAdapter就是常用的对ViewPager进行适配的适配器。这次深圳问答网的师生探讨的是PagerAdapter里几个函数的作用:




学生问题:
destroyItem(ViewGroup, int, Object)和isViewFromObject(View, Object)
分别有什么作用?

老师的答案:
直接上代码解释
  1. private class ViewPagerAdapter extends PagerAdapter {

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

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

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

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



深圳校区除了全国独有问答网,就业老师面试服务,还有更多神秘惊喜等着你,咨询热线:0755-66689855


1 个回复

倒序浏览
destroyItem是销毁已经划出屏幕view。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马