package com.example.test_demo.adapter; import android.content.Context; import android.media.Image; import android.support.annotation.NonNull; import android.support.v7.widget.RecyclerView; import android.text.Layout; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.bumptech.glide.Glide; import com.example.test_demo.R; import com.example.test_demo.bean.Bean; import com.example.test_demo.utils.Api; import java.util.List; /** * Created by john on 2018/5/29. */ public class XrvAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder>{ private List<Bean.DataBean> list; private Context context; public XrvAdapter(List<Bean.DataBean> list, Context context) { this.list = list; this.context = context; } @Override public int getItemViewType(int position) { return position % 2 == 0 ? Api.Type_One : Api.Type_Two; } @NonNull @Override public RecyclerView.ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { if (viewType== Api.Type_One){ View view=LayoutInflater.from(context).inflate(R.layout.item_one,parent,false); ViewHoldr_ONE viewHoldr_one=new ViewHoldr_ONE(view); return viewHoldr_one; }else{ View view=LayoutInflater.from(context).inflate(R.layout.item_two,parent,false); ViewHolder_TWO viewHolder_two=new ViewHolder_TWO(view); return viewHolder_two; } } @Override public void onBindViewHolder(@NonNull RecyclerView.ViewHolder holder, int position) { Bean.DataBean dataBean = list.get(position); if (holder instanceof ViewHoldr_ONE){ ((ViewHoldr_ONE) holder).tv.setText(dataBean.getTopic()); if (dataBean.getMiniimg()!=null&&dataBean.getMiniimg().size()>0){ if (dataBean.getMiniimg().size()==1){ Glide.with(context).load(dataBean.getMiniimg().get(0).getSrc()).into(((ViewHoldr_ONE) holder).iv_one); Glide.with(context).load(dataBean.getMiniimg().get(0).getSrc()).into(((ViewHoldr_ONE) holder).iv_two); Glide.with(context).load(dataBean.getMiniimg().get(0).getSrc()).into(((ViewHoldr_ONE) holder).iv_three); } else if (dataBean.getMiniimg().size()==2){ Glide.with(context).load(dataBean.getMiniimg().get(0).getSrc()).into(((ViewHoldr_ONE) holder).iv_one); Glide.with(context).load(dataBean.getMiniimg().get(1).getSrc()).into(((ViewHoldr_ONE) holder).iv_two); Glide.with(context).load(dataBean.getMiniimg().get(1).getSrc()).into(((ViewHoldr_ONE) holder).iv_three); } else{ Glide.with(context).load(dataBean.getMiniimg().get(0).getSrc()).into(((ViewHoldr_ONE) holder).iv_one); Glide.with(context).load(dataBean.getMiniimg().get(1).getSrc()).into(((ViewHoldr_ONE) holder).iv_two); Glide.with(context).load(dataBean.getMiniimg().get(2).getSrc()).into(((ViewHoldr_ONE) holder).iv_three); } } }else if(holder instanceof ViewHolder_TWO){ ((ViewHolder_TWO) holder).tv_one.setText(dataBean.getBrief()); ((ViewHolder_TWO) holder).tv_two.setText(dataBean.getDate()); Glide.with(context).load(dataBean.getMiniimg02().get(0).getSrc()).into(((ViewHolder_TWO) holder).iv); } } @Override public int getItemCount() { return list.size(); } class ViewHoldr_ONE extends RecyclerView.ViewHolder{ private final TextView tv; private final ImageView iv_one,iv_two,iv_three; public ViewHoldr_ONE(View itemView) { super(itemView); tv = itemView.findViewById(R.id.tv); iv_one = itemView.findViewById(R.id.iv_one); iv_three=itemView.findViewById(R.id.iv_three); iv_two=itemView.findViewById(R.id.iv_two); } } class ViewHolder_TWO extends RecyclerView.ViewHolder{ private final ImageView iv; private final TextView tv_one,tv_two; public ViewHolder_TWO(View itemView) { super(itemView); iv = itemView.findViewById(R.id.iv_twoitem); tv_one=itemView.findViewById(R.id.tv_one); tv_two=itemView.findViewById(R.id.tv_two); } } }
XRecyclerView多条目加载
最新推荐文章于 2019-03-16 17:00:17 发布