Android listview中,不同的Item显示不同的layout ---- BaseAdapter

来源:互联网 发布:中国当下的网络环境 编辑:程序博客网 时间:2024/05/20 01:47

http://blog.csdn.net/chenxiaoning87/article/details/12971275

Android  listview中,不同的Item显示不同的layout  ---- BaseAdapter

工作中有时会有这样的需求,listview的Item显示中,奇数行显示一种效果,偶数行显示另外一种效果。或者第一行显示的内容或效果与其他行不同。

解决方法是复写BaseAdapter中的 getItemViewType和getViewTypeCount这两个方法:

参考代码如下:

@Override    public int getItemViewType(int position) {        if (position == 0)            return 0;        else            return 1;    }    @Override    public int getViewTypeCount() {        return 2;    } @Override    public View getView(int position, View convertView, ViewGroup parent) {        ViewHolder holder;        if (convertView == null) {            if (getItemViewType(position) == 0) {                convertView = LayoutInflater.from(mActivity).inflate(R.layout.physique_result_item_positon0, null);            } else {                convertView = LayoutInflater.from(mActivity)                        .inflate(R.layout.physique_result_item, null);            }            holder = new ViewHolder();            holder.title = (TextView) convertView.findViewById(R.id.title);            holder.content = (TextView) convertView.findViewById(R.id.content);            if (getItemViewType(position) == 0) {                holder.imageView = (ImageView) convertView.findViewById(R.id.about_physique_info);holder.imageView.setOnClickListener(onClickListener);            }            convertView.setTag(holder);        } else {            holder = (ViewHolder) convertView.getTag();        }


0 0
原创粉丝点击