适配器的正确使用


import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.nostra13.universalimageloader.core.ImageLoader;

import java.util.List;



public class MyAdapter extends BaseAdapter {
    private Context context;
    private static int Type_one = 0;
    private static int Type_two = 1;
    private static String imgurl = "http://365jia.cn/uploads/";
    private List<News.DataBeanX.DataBean> list;

    public MyAdapter(Context context, List<News.DataBeanX.DataBean> list) {
        this.context = context;
        this.list = list;
    }

    @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 getViewTypeCount() {
        return 2;
    }

    @Override
    public int getItemViewType(int position) {
        if(list.get(position).getType().equals("images")){
            return Type_two;
        }else {
            return Type_one;
        }
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        int type = getItemViewType(position);
        ViewHolder1 holder1 = null;
        ViewHolder2 holder2 = null;
        switch (type){
            case 0:
                if (convertView == null){
                    holder1 = new ViewHolder1();
                    convertView = View.inflate(context,R.layout.item_one,null);
                    holder1.txtTitle = convertView.findViewById(R.id.txttitle);
                    holder1.img1 = convertView.findViewById(R.id.img1);
                    convertView.setTag(holder1);
                }else {
                    holder1 = (ViewHolder1) convertView.getTag();
                }
                holder1.txtTitle.setText(list.get(position).getTitle());

                ImageLoader.getInstance().displayImage(imgurl+
                        list.get(position).getPics().get(0),holder1.img1);
                break;
            case 1:
                if (convertView == null){
                    holder2 = new ViewHolder2();
                    convertView = View.inflate(context,R.layout.item_three,null);
                    holder2.txttitle = convertView.findViewById(R.id.txttitle);
                    holder2.img1 = convertView.findViewById(R.id.img1);
                    holder2.img2 = convertView.findViewById(R.id.img2);
                    holder2.img3 = convertView.findViewById(R.id.img3);
                    convertView.setTag(holder2);
                }else {
                    holder2 = (ViewHolder2) convertView.getTag();
                }
                holder2.txttitle.setText(list.get(position).getTitle());

                ImageLoader.getInstance().displayImage(imgurl+
                        list.get(position).getPics().get(0),holder2.img1);

                ImageLoader.getInstance().displayImage(imgurl+
                        list.get(position).getPics().get(1),holder2.img2);

                ImageLoader.getInstance().displayImage(imgurl+
                        list.get(position).getPics().get(2),holder2.img3);

            break;
        }



        return convertView;
    }
    class ViewHolder1{

        ImageView img1;
        TextView txtTitle;

    }
    class ViewHolder2{
        TextView txttitle;
        ImageView img1;
        ImageView img2;
        ImageView img3;

    }
}

猜你喜欢

转载自blog.csdn.net/cxx13700/article/details/82562438