***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;
}

猜你喜欢

转载自blog.csdn.net/weixin_43654610/article/details/83928060