美文网首页
getItemViewType为Listview,GridVie

getItemViewType为Listview,GridVie

作者: 踏尘印沙 | 来源:发表于2017-02-07 11:38 被阅读0次

    为listview的item设置不同的布局文件,步骤如下;

    1、为不同的item写不同的布局文件,设置统一的bean类

    2、继承BaseAdapter类,实现getItemViewType(int position)和getViewTypeCount() 方法,根据这两个方法,为item设置不同的标记,也就是不同的type

    /**

    * 根据数据源的position返回需要显示的的layout的type

    *

    * type的值必须从0开始

    */

    @Override

    public intgetItemViewType(intposition) {

    returnposition ==0?0:1;

    }

    3、在getView方法中,利用getItemViewType(position)方法获取当前的type类型,然后根据不同的type类型,加载不同的item布局文件。

    intviewType = getItemViewType(position);

    ViewTagHolder mViewTagHolder =null;

    if(convertView ==null) {

    if(viewType ==0) {

    convertView =mInflater.inflate(R.layout.layout_hot_search,parent, false);

    }else{

    convertView =mInflater.inflate(R.layout.adapter_tag_item,parent, false);

    mViewTagHolder =newViewTagHolder(convertView);

    convertView.setTag(R.string.app_name,mViewTagHolder);

    }

    }else{

    mViewTagHolder = (ViewTagHolder) convertView.getTag(R.string.app_name);

    }

    4、其他的一些listview的优化同一般的listview没有很大区别。

    相关文章

      网友评论

          本文标题:getItemViewType为Listview,GridVie

          本文链接:https://www.haomeiwen.com/subject/jgmpittx.html