图文混排

@Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder1 vh1 = null;
        ViewHolder2 vh2 = null;
        ViewHolder3 vh3 = null;
        ViewHolder4 vh4 = null;
        int itemViewType = getItemViewType(position);
        if (convertView == null) {
            switch (itemViewType) {
            case 0:
                vh1 = new ViewHolder1();
                convertView = LayoutInflater.from(context).inflate(
                        R.layout.fragement_item1, null);
                vh1.tv1 = (TextView) convertView.findViewById(R.id.frage1title);
                vh1.tv2 = (TextView) convertView.findViewById(R.id.frage1time);
                convertView.setTag(vh1);
                break;
            case 1:
                vh2 = new ViewHolder2();
                convertView = LayoutInflater.from(context).inflate(
                        R.layout.fragement_item2, null);
                vh2.tv1 = (TextView) convertView.findViewById(R.id.frage2title);
                vh2.img = (ImageView) convertView.findViewById(R.id.frage2img);
                vh2.tv2 = (TextView) convertView.findViewById(R.id.frage2time);
                convertView.setTag(vh2);
                break;
            case 2:
                vh3 = new ViewHolder3();
                convertView = LayoutInflater.from(context).inflate(
                        R.layout.fragement_item3, null);
                vh3.tv1 = (TextView) convertView.findViewById(R.id.frage3title);
                vh3.img1 = (ImageView) convertView
                        .findViewById(R.id.frage3img1);
                vh3.img2 = (ImageView) convertView
                        .findViewById(R.id.frage3img2);
                vh3.img3 = (ImageView) convertView
                        .findViewById(R.id.frage3img3);
                vh3.tv2 = (TextView) convertView.findViewById(R.id.frage3time);
                convertView.setTag(vh3);
                break;
            case 3:
                vh4 = new ViewHolder4();
                convertView = LayoutInflater.from(context).inflate(
                        R.layout.fragement_item4, null);
                vh4.tv = (TextView) convertView.findViewById(R.id.frage4title);
                vh4.img = (ImageView) convertView.findViewById(R.id.frage4img);
                convertView.setTag(vh4);
                break;
            }
        } else {
            switch (itemViewType) {
            case 0:
                vh1 = (ViewHolder1) convertView.getTag();
                break;
            case 1:
                vh2 = (ViewHolder2) convertView.getTag();
                break;
            case 2:
                vh3 = (ViewHolder3) convertView.getTag();
                break;
            case 3:
                vh4 = (ViewHolder4) convertView.getTag();
                break;
            }
        }
        // --------------------------设置数据
        switch (itemViewType) {
        case 0:
            vh1.tv1.setText(list.get(position).getTitle());
            vh1.tv2.setText(list.get(position).getBehot_time());
            break;
        case 1:
            vh2.tv1.setText(list.get(position).getTitle());
            ImageLoader imageLoader = ImageLoader.getInstance();
            imageLoader.displayImage(list.get(position).getLarge_image_list()
                    .get(0).getUrl(), vh2.img);
            vh2.tv2.setText(list.get(position).getBehot_time());
            break;
        case 2:
            vh3.tv1.setText(list.get(position).getTitle());
            ImageLoader imageLoader1 = ImageLoader.getInstance();
            imageLoader1.displayImage(list.get(position).getImage_list().get(0)
                    .getUrl(), vh3.img1);
            ImageLoader imageLoader2 = ImageLoader.getInstance();
            imageLoader2.displayImage(list.get(position).getImage_list().get(1)
                    .getUrl(), vh3.img2);
            ImageLoader imageLoader3 = ImageLoader.getInstance();
            imageLoader3.displayImage(list.get(position).getImage_list().get(2)
                    .getUrl(), vh3.img3);
            vh3.tv2.setText(list.get(position).getBehot_time());
            break;
        case 3:
            vh4.tv.setText(list.get(position).getTitle());
            ImageLoader imageLoader4 = ImageLoader.getInstance();
            imageLoader4.displayImage(list.get(position).getMiddle_image()
                    .getUrl(), vh4.img);
            break;
        }

        return convertView;
    }

    @Override
    public int getItemViewType(int position) {
        if (list.get(position).isHas_image()) {
            if (list.get(position).getImage_list() != null
                    && list.get(position).getImage_list().size() >= 3) {
                return 2;
            }
            return 3;
        } else {
            if (list.get(position).getLarge_image_list() != null
                    && list.get(position).getLarge_image_list().size() > 0) {
                return 1;
            }
            return 0;
        }
    }

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

    // 没有图
    class ViewHolder1 {
        TextView tv1;
        TextView tv2;
    }

    // 一张大图
    class ViewHolder2 {
        TextView tv1;
        ImageView img;
        TextView tv2;
    }

    // 三张图
    class ViewHolder3 {
        TextView tv1;
        ImageView img1;
        ImageView img2;
        ImageView img3;
        TextView tv2;
    }

    // 一张图
    class ViewHolder4 {
        TextView tv;
        ImageView img;
    }

    @Override
    public Object getItem(int position) {
        return null;
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值