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#拖拽文件
    设置webbrowser浏览器内核
    C#控件置于底层或顶层
    C#中读取xml文件指定节点
    关于selenium python Message: unknown error: Element is not clickable at point错误
    Linux的命令操作
    MySQL数据库的知识
    没有添加main方法
    eclipse导入已建工程
  • 原文地址:https://www.cnblogs.com/Nigeria/p/8006795.html
Copyright © 2011-2022 走看看