154_ListView加入两种条目

来源:互联网 发布:怎么申请多个淘宝号 编辑:程序博客网 时间:2024/04/29 15:36


ListView加入两种条目


之前看过控制条目种类的两个方法

我进到了BaseAdapter的源码里面

发现这两个方法是这样子的


 

    public int getItemViewType(int position) {

        return 0;

    }

 

    public int getViewTypeCount() {

        return 1;

    }

 

然后我就傻乎乎地以为这两个方法原来就是两个很普通的方法

就是用来控制一下position而已

 

我以为我直接在getView里面去控制position然后显示条目

是一样的

 

 

然后我就傻乎乎地用控制position的方法去写写写

结果发现复用的时候一直出错

 

然后我就抱着试一试的心态去试了这两个方法

getItemViewType(),getViewTypeCount()

 

我了个去,

还真的就可以了

 

看来源码的这些方法也不是普普通通的

人家就是比你要吊啊

以后谦虚点,不要那么嚣张了

 

 

 

 

代码

 

我们就是最简单的

普通ListView,最下面加上一个TextView

 

 

 

public class ListViewAdapter extends ListViewBaseAdapter<String> {

 

    public ListViewAdapter(String[] list) {

        super(list);

    }

 

    @Override

    public int getCount() {

        return mList.length + 1;

    }

 

    @Override

    public int getViewTypeCount() {

        return 2;

    }

 

    @Override

    public int getItemViewType(int position) {

        if (position < mList.length) {

            return 0;

        } else {

            return 1;

        }

    }

 

    @Override

    public View getView(int position, View convertView, ViewGroup parent) {

        BaseViewHolder viewHolder = null;

        if (convertView == null) {

            if (getItemViewType(position)==0) {

                viewHolder = new ViewHolder(parent.getContext(), convertView, R.layout.item_main_lv);

            } else {

                viewHolder = new TextViewHolder(parent.getContext(), convertView, R.layout.item_main_lv_textview);

            }

            convertView = viewHolder.getConvertView();

        } else {

            viewHolder = (BaseViewHolder) convertView.getTag();

        }

 

        if (getItemViewType(position)==0) {

            viewHolder.initData(mList, position);

        } else {

            viewHolder.initData(null, 0);

        }

 

        return convertView;

    }

 

 

 

 

总之就是用

getItemViewType(),getViewTypeCount()两个方法

去控制条目的种类和位置

就可以了

很简单

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0 0
原创粉丝点击