zoukankan      html  css  js  c++  java
  • 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是一个自定义的且较为复杂的控件时,就一定要做好恢复工作了~比如重新设置它的图片(这个简单,关键时注意复杂的),我被这个坑了两天……
            
          写完,突然觉得问题有点傻……可能也就只有我被坑过吧
  • 相关阅读:
    varnish反向代理
    Asp.Net MVC 3.0
    反向代理(Reverse Proxy)
    Go语言开发Windows应用
    Windows下安装NodeJS和CoffeeScript方法
    数据库设计....
    发布一个开源的c++网络事件库
    非小型电子商务系统设计经验分享 Coding changes the world
    SqlServer查询计划
    cocos2dx总结(一)HelloWord
  • 原文地址:https://www.cnblogs.com/appzhang/p/2673075.html
Copyright © 2011-2022 走看看