• 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的次数

  • 相关阅读:
    Nodejs服务器搭建
    CRC8校验,生成多项式:X8 + X2 + X + 1
    windows server 2019添加开机启动项
    Ubuntu20.04下SSH2安装, gulp live报错解决
    Ubuntu 20.04 开机执行自定义脚本
    STUN/TURN服务器搭建
    PostgreSQL开启远程连接
    Ubuntu 20.04 开机执行自定义脚本
    CentOS下 rpm软件包的安装与卸载
    Ubuntu18.04安装JDK1.8.0_11
  • 原文地址:https://www.cnblogs.com/Nigeria/p/8006795.html
Copyright © 2020-2023  润新知