GridView设置不同的item(布局)

来源:互联网 发布:乐之网络 编辑:程序博客网 时间:2024/05/22 15:43
package com.example.uppf.adapter;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import android.content.Context;
import android.os.Message;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;

import com.bumptech.glide.Glide;
import com.example.uppf.R;
import com.example.uppf.beans.CarTypeBean;
import com.example.uppf.imagefig.ImageLoaders;
import com.example.uppf.util.CCC;

public class EnterAppListAdapter extends BaseAdapter{
    private Context context;
    ArrayList<CarTypeBean> list;
    ImageLoaders loaders;
    CarTypeBean bean;
    int type;
    int a;
    public EnterAppListAdapter(Context context,ImageLoaders loaders,ArrayList<CarTypeBean> list){
        this.context=context;
        this.loaders=loaders;
        this.list=list;
        
    }
    @Override
    public int getItemViewType(int position) {
        System.out.println(list.size());
        int p = position%4;
        if (p==0) {
            return CCC.a1;
        }
        if (p==1) {
            return CCC.a2;
        }
        if (p==2) {
            return CCC.a3;
        }
        if (p==3) {
            return CCC.a4;
        }
        return CCC.a4;
    }
    @Override
    public int getViewTypeCount() {
        // TODO Auto-generated method stub
        return 5;
    }

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return list.size();
    }

    @Override
    public Object getItem(int position) {
        // TODO Auto-generated method stub
        return list.get(position);
    }

    @Override
    public long getItemId(int position) {
        // TODO Auto-generated method stub
        return position;
    }

    @Override
    public View getView(int position, View converview, ViewGroup arg2) {
        // TODO Auto-generated method stub
//        a=list.size()/4;
//        final int kkk=a*4;
        ViewHlder vh = null;
        ViewHlder2 vh2 = null;
        ViewHlder3 vh3 = null;
        ViewHlder4 vh4 = null;
        type = getItemViewType(position);
        if (converview==null) {
            switch (type) {
            case CCC.a1:
                converview=LayoutInflater.from(context).inflate(R.layout.adapter_enterapplist_item, null);
                vh=new ViewHlder();
                vh.iv=(ImageView) converview.findViewById(R.id.iv_item);
                vh.l1=(LinearLayout) converview.findViewById(R.id.ll_adapter1);
                converview.setTag(vh);
                break;
            case CCC.a2:
                converview=LayoutInflater.from(context).inflate(R.layout.adapter_enterapplist_item2, null);
                vh2=new ViewHlder2();
                vh2.iv2=(ImageView) converview.findViewById(R.id.iv_item2);
                vh2.l2=(LinearLayout) converview.findViewById(R.id.ll_adapter2);
                converview.setTag(vh2);
                break;
            case CCC.a3:
                converview=LayoutInflater.from(context).inflate(R.layout.adapter_enterapplist_item3, null);
                vh3=new ViewHlder3();
                vh3.iv3=(ImageView) converview.findViewById(R.id.iv_item3);
                vh3.l3=(LinearLayout) converview.findViewById(R.id.ll_adapter3);
                converview.setTag(vh3);
                break;
            case CCC.a4:
                converview=LayoutInflater.from(context).inflate(R.layout.adapter_enterapplist_item4, null);
                vh4=new ViewHlder4();
                vh4.iv4=(ImageView) converview.findViewById(R.id.iv_item4);
                vh4.l4=(LinearLayout) converview.findViewById(R.id.ll_adapter4);
                converview.setTag(vh4);
                break;
            default:
                break;
            }
//            vh.tv=(TextView) converview.findViewById(R.id.tv);
            
        }else {
            switch (type) {
            case CCC.a1:
                vh=(ViewHlder) converview.getTag();
                break;
            case CCC.a2:
                vh2=(ViewHlder2) converview.getTag();
                break;
            case CCC.a3:
                vh3=(ViewHlder3) converview.getTag();
                break;
            case CCC.a4:
                vh4=(ViewHlder4) converview.getTag();
                break;

            default:
                break;
            }
        }
        switch (position) {
        case 0:
            vh.l1.setBackgroundResource(R.drawable.kzj);
            break;
        case 1:
            vh2.l2.setBackgroundResource(R.drawable.kzj2);
            break;
        case 2:
            vh3.l3.setBackgroundResource(R.drawable.kzj3);
            break;
        case 3:
            vh4.l4.setBackgroundResource(R.drawable.kzj4);
            break;

        default:
            break;
        }
        switch (type) {
        case CCC.a1:
            
            bean=list.get(position);
            Glide.with(context).load(bean.getCar_logo()).into(vh.iv);
            bean.setType(0);
            break;
        case CCC.a2:
            
            bean=list.get(position);
            Glide.with(context).load(bean.getCar_logo()).into(vh2.iv2);
            bean.setType(1);
            break;
        case CCC.a3:
            bean=list.get(position);
            Glide.with(context).load(bean.getCar_logo()).into(vh3.iv3);
            bean.setType(2);
            break;
        case CCC.a4:
            bean=list.get(position);
            Glide.with(context).load(bean.getCar_logo()).into(vh4.iv4);
            bean.setType(3);
            break;

        default:
            break;
        }
        return converview;
    }
    class ViewHlder{
        ImageView iv;
        LinearLayout l1;
    }
    class ViewHlder2{
        ImageView iv2;
        LinearLayout l2;
    }
    class ViewHlder3{
        ImageView iv3;
        LinearLayout l3;
    }
    class ViewHlder4{
        ImageView iv4;
        LinearLayout l4;
    }

}


0 0
原创粉丝点击