xlistView的adapter的相关操作

来源:互联网 发布:js 命名空间 编辑:程序博客网 时间:2024/05/23 19:10
使用xlistView的步骤:首先加载xlistView的三个包,最好放在一个自定义的view包,根据报的错误依次添加需要的东西例如需要item,图片,和Strings需要添加,做好准备工作这是xlistView的重点adapter需要重点关注package com.hh.test.adapter;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.bwie.test.MainActivity;import com.bwie.test.R;import com.bwie.test.bean.News;import com.bwie.test.xlistUtils.xlistview.XListView;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;import java.util.List;public class MyAdapter extends BaseAdapter {    private List<News.ResultBean.DataBean> data;    private Context context;    private final int atype = 0;    private final int btype = 1;    public MyAdapter(Context context, List<News.ResultBean.DataBean> data) {        this.context = context;        this.data = data;    }    @Override    public int getCount() {        return data.size();    }    @Override    public Object getItem(int i) {        return data.get(i);    }    @Override    public long getItemId(int i) {        return i;    }    @Override    public int getItemViewType(int position) {        if (position % 2 == 0) {            return atype;        } else {            return btype;        }    }    @Override    public int getViewTypeCount() {        return 2;    }    @Override    public View getView(int i, View view, ViewGroup viewGroup) {//获取当前的item        int type = getItemViewType(i);        ViewHolder1 viewholder1;        ViewHolder2 viewHolder2;        if(view == null){//使用switch判断 如果是atype进行下面操作 switch (type){                case atype:                    viewholder1 = new ViewHolder1();                    view = View.inflate(context, R.layout.item1, null);                    view.setTag(viewholder1);                    viewholder1.tv_title1 = view.findViewById(R.id.tv_title1);                    viewholder1.iv1 = view.findViewById(R.id.iv1);                    break;                case btype:                    viewHolder2 = new ViewHolder2();                    view = View.inflate(context, R.layout.item2, null);                    view.setTag(viewHolder2);                    viewHolder2.tv_title2 = view.findViewById(R.id.tv_title2);                    viewHolder2.iv2 = view.findViewById(R.id.iv2);                    break;            }        }else{//赋值时也需要使用switch进行判断赋值 switch (type) {                case atype:                    viewholder1 = (ViewHolder1) view.getTag();                    viewholder1.tv_title1.setText(data.get(i).getTitle());                    ImageLoader.getInstance().displayImage(data.get(i).getThumbnail_pic_s(), viewholder1.iv1);                    break;                case btype:                    viewHolder2 = (ViewHolder2) view.getTag();                    viewHolder2.tv_title2.setText(data.get(i).getTitle());                   ImageLoader.getInstance().displayImage(data.get(i).getThumbnail_pic_s(), viewHolder2.iv2);                    break;            }        }        return view;    }    public class ViewHolder1{        public ImageView iv1;        public TextView tv_title1;    }    public class ViewHolder2{        public ImageView iv2;        public TextView tv_title2;    }}注意:该adapter为xlistView的,标红的为注意事项,需要特别关注,定义变量时最后从0开始。 
原创粉丝点击