RecycleView多条目加载

来源:互联网 发布:执业医师题库软件 编辑:程序博客网 时间:2024/05/16 10:28

多条目加载的适配器

public class RVAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {    private Context context;    private List<Beannes.DataBean.Ad5Bean> ad5;    public RVAdapter(Context context, List<Beannes.DataBean.Ad5Bean> ad5) {        this.context = context;        this.ad5 = ad5;    }    @Override    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {        if (viewType == 1) {            View view = View.inflate(context, R.layout.item_rv, null);            ViewHolder viewHolder = new ViewHolder(view);            return viewHolder;        } else {            View view = View.inflate(context, R.layout.item2_rv, null);            ViewHolder2 viewHolder = new ViewHolder2(view);            return viewHolder;        }    }    @Override    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {        if (holder instanceof ViewHolder){            ViewHolder vh1= (ViewHolder) holder;            vh1.img.setImageURI(Uri.parse(ad5.get(position).getImage()));            vh1.tvDescription.setText(ad5.get(position).getTitle());        }else if (holder instanceof ViewHolder2){            ViewHolder2 vh2= (ViewHolder2) holder;            vh2.tvTitle.setText(ad5.get(position).getTitle());        }    }    @Override    public int getItemViewType(int position) {        if (position % 2 == 0) {            return 1;        } else {            return 2;        }    }    @Override    public int getItemCount() {        return ad5.size();    }    class ViewHolder extends RecyclerView.ViewHolder {        private final TextView tvDescription;        private final ImageView img;        public ViewHolder(View itemView) {            super(itemView);            img = (ImageView) itemView.findViewById(R.id.img);            tvDescription = (TextView) itemView.findViewById(R.id.tv_description);        }    }    class ViewHolder2 extends RecyclerView.ViewHolder{        private final TextView tvTitle;        public ViewHolder2(View itemView) {            super(itemView);            tvTitle = (TextView) itemView.findViewById(R.id.tv_title);        }    }}
main设置适配器
List<Beannes.DataBean.Ad5Bean> ad5 = data.getData().getAd5();        LinearLayoutManager manager = new LinearLayoutManager(this);        rv.setLayoutManager(manager);        RVAdapter rvAdapter = new RVAdapter(MainActivity.this, ad5);        rv.setAdapter(rvAdapter);


原创粉丝点击