您的位置:首页 > 其它

图文混排

2016-06-30 15:28 316 查看
@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;

    }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: