baseadapter

 最近做一个图片浏览器,用BaseAdapter用到想和它分手(其实还好啦,挺好用的,好扩展!),核心应该是getView方法的重写吧,主要有几点收获吧,在这里说说~说说~:

    [代码]java代码:

01@Override
02    public View getView(int position, View convertView, ViewGroup parent)
03    {
04        ImageView imageView;
05        Bitmap bitmap = getItem(position);
06 
07        if (convertView == null)
08        {
09            imageView = new ImageView(getContext());
10        }
11        else
12        {
13            imageView = (ImageView) convertView;
14        }
15 
16        imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
17        imageView.setImageBitmap(bitmap);
18        return imageView;
19    }

  1、when getView 被调用:              

                ①初始化时,肯定会调用的,不然啥都看不见。

                ②子控件从消失到重新出现,调用~~

                ③调用notifyDataSetChanged()后,会调用~~

                ④欢迎补充……

    2、getView 方法中 convertView的脾气:

                ①缓存,不错!可以节省资源(上面的代码有给出)

                ②缓存,shit!!!一定要搞清楚这个是哪个子控件留下的缓存,从实践的坎坷过程来看,应该是最后一个消失的子控件的,不过不是很确定,但是肯定不是原来这个控件的缓存,如果是的话就不用加 imageView.setImageBitmap(bitmap) 这一句了。也许大家不会因为这个问题而出现什么狗血的事~可是,当你的View是一个自定义的且较为复杂的控件时,就一定要做好恢复工作了~比如重新设置它的图片(这个简单,关键时注意复杂的),我被这个坑了两天……
        
      写完,突然觉得问题有点傻……可能也就只有我被坑过吧

转载于:https://www.cnblogs.com/appzhang/archive/2012/09/06/2673075.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值