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

  • 相关阅读:
    C语言左移和右移
    mmap详谈
    eclipse插件自动生成类图
    async 和 defer 的区别
    SVN里恢复到某一天的版本操作
    解决跨域的jsonp+Java实例
    HTTP请求行、请求头、请求体等
    ajax在什么情况下会走success和error
    记阅读POST与GET的区别
    记一些快捷键
  • 原文地址:https://www.cnblogs.com/Nigeria/p/8006795.html
Copyright © 2011-2022 走看看