本帖最后由 xiaoqing 于 2015-11-29 18:35 编辑
在开发Android应用时,经常用的ViewPager来展现多页面滑动显示的效果,而适配器模式则是Android里常见的设计模式。PagerAdapter就是常用的对ViewPager进行适配的适配器。这次深圳问答网的师生探讨的是PagerAdapter里几个函数的作用:
学生问题: destroyItem(ViewGroup, int, Object)和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);
- }
- }
复制代码
深圳校区除了全国独有问答网,就业老师面试服务,还有更多神秘惊喜等着你,咨询热线:0755-66689855
|