多布局优化

来源:互联网 发布:lda算法 主题模型 编辑:程序博客网 时间:2024/05/22 16:10
public class MyAdpter extends BaseAdapter {
    private List<Tem> list;
    private Context context;

    private ImageLoader loader;
    public static final int one_one_img_wen = 0;
    public static final int two_one_img_wen = 1;

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

    @Override
    public int getCount() {
        return list.size();
    }

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

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public int getItemViewType(int position) {
        if (list.get(position).getImgextra() != null && list.get(position).getImgextra().size() > 1) {
            return two_one_img_wen;
        }
        return one_one_img_wen;

    }

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

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder vh;
        int viewtype = getItemViewType(position);
        if (convertView == null) {
            vh = new ViewHolder();
            switch (viewtype) {
            case one_one_img_wen:
                convertView = LayoutInflater.from(context).inflate(R.layout.item_one_main, null);
                vh.tvone = (TextView) convertView.findViewById(R.id.tv_one);
                vh.imgone = (ImageView) convertView.findViewById(R.id.img_one);
                convertView.setTag(vh);
                break;

            case two_one_img_wen:
                convertView = LayoutInflater.from(context).inflate(R.layout.item_two_main, null);
                vh.tvtwo = (TextView) convertView.findViewById(R.id.tv_two_one);
                vh.imgtwoone = (ImageView) convertView.findViewById(R.id.img_two_one);
                vh.imgtwotwo = (ImageView) convertView.findViewById(R.id.img_two_two);
                convertView.setTag(vh);
                break;
            }

        } else {
            switch (viewtype) {
            case one_one_img_wen:
                vh = (ViewHolder) convertView.getTag();
                vh.tvone.setText(list.get(position).getTitle());
                loader = ImageLoader.getInstance();
                loader.displayImage(list.get(position).getImgsrc(), vh.imgone);
                break;

            case two_one_img_wen:
                vh = (ViewHolder) convertView.getTag();
                vh.tvtwo.setText(list.get(position).getTitle());
                loader = ImageLoader.getInstance();
                loader.displayImage(list.get(position).getImgextra().get(0).getImgsrc(), vh.imgtwoone);
                loader.displayImage(list.get(position).getImgextra().get(1).getImgsrc(), vh.imgtwotwo);
                break;
            }
            vh = (ViewHolder) convertView.getTag();
        }

        return convertView;
    }

    class ViewHolder {
        // 只显示一个文字一个图片
        ImageView imgone;
        TextView tvone;
        // 显示一个文字三个图片
        ImageView imgtwoone;
        ImageView imgtwotwo;

        TextView tvtwo;
    }
}

0 0
原创粉丝点击