listview多条目+图片缓存
来源:互联网 发布:和日本女生恋爱知乎 编辑:程序博客网 时间:2024/05/14 19:36
//首先是适配器//要定义用几个布局 final int TYPE01=0; final int TYPE02=1; final int TYPE03=2;//除了原来适配器的方法,再写一个方法,里面是布局个数 @Override public int getViewTypeCount() { return 3; }//再写一个用哪个布局的方法 @Override public int getItemViewType(int position) { if(list.get(position).getThumbnail_pic_s()!=null&&list.get(position).getThumbnail_pic_s02()==null&&list.get(position).getThumbnail_pic_s03()==null){ return TYPE01;}else if(list.get(position).getThumbnail_pic_s()!=null&&list.get(position).getThumbnail_pic_s02()!=null&&list.get(position).getThumbnail_pic_s03()==null){ return TYPE02;}else if(list.get(position).getThumbnail_pic_s()!=null&&list.get(position).getThumbnail_pic_s02()!=null&&list.get(position).getThumbnail_pic_s03()!=null){ return TYPE03;} return 0;}//然后是最主要的方法@Overridepublic View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder; //这是调用的图片缓存的方法 DisplayImageOptions option = new DisplayImageOptions.Builder() .cacheInMemory(true) .cacheOnDisk(true) .bitmapConfig(Bitmap.Config.RGB_565) .imageScaleType(ImageScaleType.EXACTLY) .build(); int type = getItemViewType(position); if(type==0){ if(convertView==null){ convertView = View.inflate(context, R.layout.item, null); holder=new ViewHolder(); holder.tv= (TextView) convertView.findViewById(R.id.tv); holder.img01= (ImageView) convertView.findViewById(R.id.img01); convertView.setTag(holder); }else { holder = (ViewHolder) convertView.getTag(); } holder.tv.setText(list.get(position).getAuthor_name()+"---"+list.get(position).getDate()); ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s(),holder.img01,option); } else if(type==1){ if(convertView==null){ convertView = View.inflate(context, R.layout.item02, null); holder=new ViewHolder(); holder.tv02= (TextView) convertView.findViewById(R.id.tv02); holder.imgg01= (ImageView) convertView.findViewById(R.id.imgg01); holder.imgg02= (ImageView) convertView.findViewById(R.id.imgg02); convertView.setTag(holder); }else { holder = (ViewHolder) convertView.getTag(); } holder.tv02.setText(list.get(position).getAuthor_name()+"---"+list.get(position).getDate()); ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s(),holder.imgg01,option); ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s02(),holder.imgg02,option); } else if(type==2){ if(convertView==null){ convertView = View.inflate(context, R.layout.item03, null); holder=new ViewHolder(); holder.tv03= (TextView) convertView.findViewById(R.id.tv03); holder.imggg01= (ImageView) convertView.findViewById(R.id.imggg01); holder.imggg02= (ImageView) convertView.findViewById(R.id.imggg02); holder.imggg03= (ImageView) convertView.findViewById(R.id.imggg03); convertView.setTag(holder); }else { holder = (ViewHolder) convertView.getTag(); } holder.tv03.setText(list.get(position).getAuthor_name()+"---"+list.get(position).getDate()); ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s(),holder.imggg01,option); ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s02(),holder.imggg02,option); ImageLoader.getInstance().displayImage(list.get(position).getThumbnail_pic_s03(),holder.imggg03,option); } return convertView; }//关于调用的那个app加载图片方法是这样的//别忘了写清单文件和导包public class Myapp extends Application {@Overridepublic void onCreate() {super.onCreate();File file = StorageUtils.getOwnCacheDirectory(getApplicationContext(), "UniversalImageLoader/Cache");DisplayImageOptions options = new DisplayImageOptions.Builder().cacheInMemory(true).cacheOnDisk(true).build();ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(getApplicationContext()).defaultDisplayImageOptions(options).memoryCache(new LRULimitedMemoryCache(12*1024*1024)).memoryCacheSize(12*1024*1024).diskCache(new UnlimitedDiskCache(file)).threadPriority(Thread.NORM_PRIORITY - 2).denyCacheImageMultipleSizesInMemory().diskCacheFileNameGenerator(new Md5FileNameGenerator()).tasksProcessingOrder(QueueProcessingType.LIFO).writeDebugLogs().build();ImageLoader.getInstance().init(configuration);}}
阅读全文
0 0
- listview多条目+图片缓存
- ImageLoder缓存图片及ListView多条目加载
- Xlistview 多条目 图片错位 使用图片缓存显示图片
- 多条目展示ListView(如:有两种不同的布局图片在listview条目上展示)
- ImageLoader多张图片&listview多条目加载
- ListView多条目展示 请求网络数据 和图片
- 多条目加载解析方法,读取和图片缓存
- ListView多条目展示
- ListView多条目显示
- ListView多条目展示
- listview多条目展示
- ListView多条目加载
- listView 多条目展示
- listView多条目显示
- ListView 多条目加载
- listView多条目
- ListView多条目展示
- listview多条目展示
- QGC之MissionManager
- OOAD与设计模式练习题
- JAVA-代码块
- velocity中使用layout
- 远程连接阿里云主机服务器(Linux系统)
- listview多条目+图片缓存
- js前端导出Excel
- 安装PHP扩展,提示checking Check for supported PHP versions... configure: error: not supported.
- linux 信号量
- CI框架的全局函数、类库中调用model层的方法
- linux服务器与windows服务器哪个好
- java实现敏感词过滤
- 程序员编程生涯中常会犯的7个错误
- 模板方法模式(Template Method Pattern)