1. 程式人生 > >***XListView+圓角圖片 ——介面卡***

***XListView+圓角圖片 ——介面卡***

private final int ITEM_ONE = 0;
private final int ITEM_TWO = 1;

private List<NewsBean.DataBean> list;
private Context context;

private ImageLoader imageLoader = ImageLoader.getInstance();
private DisplayImageOptions displayImageOptions;

public MyAdapter(List<NewsBean.DataBean> list, Context context) {
    this.list = list;
    this.context = context;
    displayImageOptions = new DisplayImageOptions.Builder()
            .bitmapConfig(Bitmap.Config.ARGB_8888)   //設定圖片的解碼型別
            .displayer(new CircleBitmapDisplayer())//載入圓角圖片
            .build();
}

@Override
public int getCount() {
    return list.size();
}
@Override
public int getViewTypeCount() {
    return 2;
}
@Override
public Object getItem(int position) {
    return list.get(position);
}

@Override
public long getItemId(int position) {
    return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
    Holder1 holder1 = null;
    Holder2 holder2 = null;
    int type = getItemViewType(position);
    switch (type){
        case ITEM_ONE:
            if (convertView == null){
                holder1 = new Holder1();
                convertView = View.inflate(context,R.layout.item1,null);
                holder1.img = convertView.findViewById(R.id.img);
                holder1.category = convertView.findViewById(R.id.category);
                holder1.title = convertView.findViewById(R.id.title);
                convertView.setTag(holder1);
            }else {
                holder1 = (Holder1) convertView.getTag();
            }
            //引數1:路徑   引數2:控制元件  引數3:圓角
            imageLoader.displayImage(list.get(position).getThumbnail_pic_s(),holder1.img,displayImageOptions);
            holder1.category.setText(list.get(position).getCategory());
            holder1.title.setText(list.get(position).getTitle());
            break;
        case ITEM_TWO:
            if (convertView == null){
                holder2 = new Holder2();
                convertView = View.inflate(context,R.layout.item2,null);
                holder2.title = convertView.findViewById(R.id.title);
                convertView.setTag(holder2);
            }else {
                holder2 = (Holder2) convertView.getTag();
            }
            holder2.title.setText(list.get(position).getTitle());
            break;
    }
    return convertView;
}
@Override
public int getItemViewType(int position) {
    if (position % 2 == 0) {
        return ITEM_ONE;
    } else {
        return ITEM_TWO;
    }
}

class Holder1 {
    private ImageView img;
    private TextView category;
    private TextView title;
}
class Holder2 {
    private TextView title;
}