ListView的多条目加载的适配

来源:互联网 发布:mac怎么打开png格式 编辑:程序博客网 时间:2024/06/06 00:55
public class MyAdapter extends BaseAdapter {    private List<Bean> list;    private Context context;    final int TYPE_ONLY = 0;//只有文字    final int TYPE_LEFT = 1;//图在左边,字在右边    final int TYPE_RIGHT = 2;//图在右边,字在左边    final int TYPE_TOP = 3;//图在上,字在下    public MyAdapter(List<Bean> list, Context context) {        this.list = list;        this.context = context;    }    @Override    public int getCount() {        return list.size();    }    @Override    public Object getItem(int i) {        return list.get(i);    }    @Override    public long getItemId(int i) {        return i;    }    @Override    public int getViewTypeCount() {        return 4;    }    @Override    public int getItemViewType(int position) {        if (position % 4 ==0){            return TYPE_ONLY;        }else if (position%4 ==1){            return TYPE_LEFT;        }else if (position%4==2){            return TYPE_RIGHT;        }else{            return TYPE_TOP;        }    }    @Override    public View getView(int i, View view, ViewGroup viewGroup) {        int type = getItemViewType(i);        switch (type){            case TYPE_ONLY:                View v1 = View.inflate(context, R.layout.one, null);                TextView v1title = v1.findViewById(R.id.little);                v1title.setText(list.get(i).getTitle());                return v1;            case TYPE_LEFT:                View v2 = View.inflate(context, R.layout.two, null);                TextView v2title = v2.findViewById(R.id.little);                ImageView v2img = v2.findViewById(R.id.img);                v2title.setText(list.get(i).getTitle());                ImageLoader.getInstance().displayImage(list.get(i).getFirstImg(),v2img,MyAppliction.getDefaultDisplayOption());                return v2;            case TYPE_RIGHT:                View v3 = View.inflate(context, R.layout.three, null);                TextView v3title = v3.findViewById(R.id.little);                ImageView v3img = v3.findViewById(R.id.img);                v3title.setText(list.get(i).getTitle());                ImageLoader.getInstance().displayImage(list.get(i).getFirstImg(),v3img,MyAppliction.getDefaultDisplayOption());                return v3;            case TYPE_TOP:                View v4 = View.inflate(context, R.layout.four, null);                TextView v4title = v4.findViewById(R.id.little);                ImageView v4img = v4.findViewById(R.id.img);                v4title.setText(list.get(i).getTitle());                ImageLoader.getInstance().displayImage(list.get(i).getFirstImg(),v4img,MyAppliction.getDefaultDisplayOption());                return v4;        }        return null;    }}