RecyclerView 多条目(适配器)

来源:互联网 发布:php个人管理系统 编辑:程序博客网 时间:2024/06/03 22:02
代码 注意
网络请求 注意: 加权限
多条目 注意: 是否全局
RecyclerView//定义三种常量  表示三种条目类型    public static final int TYPE_PULL_IMAGE = 0;    public static final int TYPE_RIGHT_IMAGE = 1;    private final Context context;    private List  data;    public MyRecyAdapter(Context context,List  data) {       this.context=context;        this.data = data;    }    @Override    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {        //创建不同的 ViewHolder        View view;        //根据viewtype来创建条目        if (viewType == TYPE_PULL_IMAGE) {            view = LayoutInflater.from(context).inflate(R.layout.item_x,parent,false);            return new PullImageHolder(view);        } else {            view = LayoutInflater.from(context).inflate(R.layout.item_j,parent,false);            return new RightImageHolder(view);        }    }    @Override    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {        switch (getItemViewType(position)){            case 0:                (((PullImageHolder)holder).tv_time).setText(data.get(position).getTitle());                (((PullImageHolder)holder).tv_x).setText(data.get(position).getSubhead());                String[] sx=data.get(position).getImages().split("\\|");                Picasso.with(context).load(sx[0]).error(R.mipmap.ic_launcher).into((((PullImageHolder)holder).im_x));                Picasso.with(context).load(sx[1]).error(R.mipmap.ic_launcher).into((((PullImageHolder)holder).ims_x));                break;            case 1:                ((  (RightImageHolder)holder).tv_j).setText(data.get(position).getTitle()+"  11");                String s=data.get(position).getImages().split("\\|")[0];                Log.i("im",s);                Picasso.with(context).load(s).error(R.mipmap.ic_launcher).into((((RightImageHolder)holder).im_j));                break;        }    }    @Override    public int getItemCount() {        if (data != null) {            return data.size();        }        return 0;    }    //根据条件返回条目的类型    @Override    public int getItemViewType(int position) {        int type = new Random().nextInt()*2+position;        int i = type % 2;        Log.i("type",type+"");        if (i == 0) {            return TYPE_PULL_IMAGE;        } else {            return TYPE_RIGHT_IMAGE;        }    }    /**     * 创建三种ViewHolder     */    private class PullImageHolder extends RecyclerView.ViewHolder {        private final TextView tv_time;        private final TextView tv_x;        private final ImageView im_x;        private final ImageView ims_x;        public PullImageHolder(View itemView) {            super(itemView);            im_x = (ImageView) itemView.findViewById(R.id.item_im_x);            ims_x = (ImageView) itemView.findViewById(R.id.item_ims_x);            tv_time = (TextView) itemView.findViewById(R.id.item_time_x);            tv_x = (TextView) itemView.findViewById(R.id.item_tv_x);        }    }    private class RightImageHolder extends RecyclerView.ViewHolder {        private final ImageView im_j;        private final TextView tv_j;        public RightImageHolder(View itemView) {            super(itemView);            im_j = (ImageView) itemView.findViewById(R.id.item_j_im);            tv_j = (TextView) itemView.findViewById(R.id.item_j);        }    }


原创粉丝点击