zoukankan      html  css  js  c++  java
  • android listview需要呈现多个布局

    android listview需要呈现多个布局

    之前的做法很笨

    在getView()方法里面,不仅将viewHolder作为tag属性设置给convertView
    还将当前的position作为tag属性设置给convertview
    在getView()方法中,接收到回收的convertview的时候,会根据tag属性里面保存的postion来判断该布局是否当前需要的。
    不需要则重新加载布局文件

    更好的方法

    今天发现其实listView对于的baseAdapter里面对这种需要显示不同布局的情况做了特殊的处理
    有两个方法,分别是:

    
    @Override  
     public int getItemViewType(int position) {  
               return mSeparatorsSet.contains(position) ? TYPE_SEPARATOR : TYPE_ITEM; //每个itemp对应的布局类型  
     }    
     @Override  
    public int getViewTypeCount() {  
        return TYPE_MAX_COUNT;   //布局的个数
     }  
    

    只要重载这两个方法,在getView()方法里面返回的convertView,就是我们需要的(假如它不为空的话)

  • 相关阅读:
    mysql
    mysql
    mysql
    mysql
    mysql
    mysql
    mysql
    mysql
    mysql
    为你的react项目添加路由
  • 原文地址:https://www.cnblogs.com/zhou-guobao/p/5445761.html
Copyright © 2011-2022 走看看