zoukankan      html  css  js  c++  java
  • ListView多条目加载

    •  在listView适配器重写的四个方法的基础上,再手动重写两个方法
    •  - 分别是:getViewTypeCount(),确定加载条木有几种数据类型
    •  - getItemViewType(int position)第二个是对数据进行判断和分类的
    •  - 代碼塊--XlistView适配器
    //有几个条目类型   
        @Override  
        public int getViewTypeCount() {  
            return 2;  
        }
    //判断怎样分辨每个条目的位置  
        @Override  
        public int getItemViewType(int position) {  
            if(position%2==0){  
                return 0;  
            }else{  
                return 1;  
            }
        }
    
    • getView获取控件设置数据中
    //得到类型
    int type = getItemViewType(position);
    
    /*  switch (type){
                    case 0:     //textView
                        break;
                    case 1: //
                        break;
                    case 2:
                        break;
                }*/
    
    

    int type = getItemViewType(position);
            switch (type) {
                case 0:
                    if (convertView == null) {//不同的布局
                        convertView = View.inflate(context, R.layout.lv_layout, null);
    
                        holder = new ViewHolder(convertView);
                        convertView.setTag(holder);
                    } else {
                        holder = (ViewHolder) convertView.getTag();
                    }
    
                    holder.title.setText(data_list.get(position).getNews_title());
                    holder.time.setText(data_list.get(position).getNews_summary());
                    ImageLoader.getInstance().displayImage(data_list.get(position).getPic_url(), holder.img);
    
                    break;
                case 1:
                    if (convertView == null) {//不同的布局
                        convertView = View.inflate(context, R.layout.lv_layout2, null);
    
                        holder2 = new ViewHolder2(convertView);
    
                        convertView.setTag(holder2);
                    } else {
                        holder2 = (ViewHolder2) convertView.getTag();
                    }
    
                    holder2.title_2.setText(data_list.get(position).getNews_title());
    
                    break;
    
            }
    

    多条目加载时ListView的优化---复用convertView,减少findViewById的次数

  • 相关阅读:
    织梦插件开发
    yiic使用笔记
    yii2.0学习及变化比较(一)
    yii框架设计学习笔记(一)
    Maven生成可以直接运行的jar包的多种方式(转)
    Linux下查看CPU型号,内存大小,硬盘空间的命令(详解)
    从Google Earth 中下载三维模型
    Hadoop安装所遇问题及解决方法
    智慧家居体系结构
    .Net 数据库(SqlServer2008)的备份、还原
  • 原文地址:https://www.cnblogs.com/Nigeria/p/8006795.html
Copyright © 2011-2022 走看看