XListView多条目加载adpter

package com.example.ad;

import java.util.List;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.bean.Bean;
import com.example.yuekao2.CircleImageView;
import com.example.yuekao2.R;
import com.lidroid.xutils.BitmapUtils;

public class Ad extends BaseAdapter {
Context context;
List list;

public Ad(Context context, List<Bean> list) {
    super();
    this.context = context;
    this.list = list;
}

@Override
public int getCount() {
    // TODO Auto-generated method stub
    return list.size();
}

@Override
public Object getItem(int position) {
    // TODO Auto-generated method stub
    return list.get(position);
}

@Override
public long getItemId(int position) {
    // TODO Auto-generated method stub
    return position;
}

@Override
public View getView(int position, View con, ViewGroup parent) {
    Bean b = list.get(position);
    Vh1 v1 = null;
    Vh2 v2 = null;
    int type = getItemViewType(position);
    switch (type) {
    case 1:
        if (con == null) {
            v1 = new Vh1();
            con = View.inflate(context, R.layout.t1, null);
            v1.i1 = (CircleImageView) con.findViewById(R.id.t1_imageView1);
            v1.i2 = (ImageView) con.findViewById(R.id.t1_imageView2);
            v1.t1 = (TextView) con.findViewById(R.id.t1_textView1);
            v1.t2 = (TextView) con.findViewById(R.id.t1_textView2);
            con.setTag(v1);
        } else {
            v1 = (Vh1) con.getTag();
        }
        break;
    case 2:
        if (con == null) {
            v2 = new Vh2();
            con = View.inflate(context, R.layout.t2, null);
            v2.i1 = (CircleImageView) con.findViewById(R.id.t2_imageView1);
            v2.t1 = (TextView) con.findViewById(R.id.t2_textView1);
            v2.t2 = (TextView) con.findViewById(R.id.t2_textView2);
            con.setTag(v2);
        } else {
            v2 = (Vh2) con.getTag();
        }
        break;
    default:
        break;
    }
    BitmapUtils u = new BitmapUtils(context);
    switch (type) {
    case 1:

        u.display(v1.i1, b.portrait);
        u.display(v1.i2, b.imgSmall);
        v1.t1.setText(b.author);
        v1.t2.setText(b.body);
        break;
    case 2:

        u.display(v2.i1, b.portrait);
        // load.displayImage(b.portrait,v2.i1);
        v2.t1.setText(b.author);
        v2.t2.setText(b.body);
        break;

    default:
        break;
    }
    return con;
}

@Override
public int getViewTypeCount() {
    return 10;
}

@Override
public int getItemViewType(int position) {
    Bean bean = list.get(position);
    if (bean.imgSmall != null || bean.imgBig != null) {
        return 1;
    } else if (bean.imgSmall == null || bean.imgBig == null) {
        return 2;
    }
    return 1;
}

class Vh1 {
    CircleImageView i1;
    ImageView i2;
    TextView t1;
    TextView t2;
}

class Vh2 {
    ImageView i1;
    TextView t1;
    TextView t2;
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值