public class RecyclerAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> implements View.OnClickListener { private List<Book.ResultBean.ListBean> mList; private Context context; public RecyclerAdapter(List<Book.ResultBean.ListBean> mList, Context context) { this.mList = mList; this.context = context; } public static final int ONE_ITEM = 1; public static final int TWO_ITEM = 2; @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { LayoutInflater inflat = LayoutInflater.from(parent.getContext()); RecyclerView.ViewHolder holder; if (ONE_ITEM == viewType) { View inflate = inflat.inflate(R.layout.recycler_one, parent, false); holder = new ViewHolderOne(inflate); inflate.setOnClickListener(this); } else { View inflate = inflat.inflate(R.layout.recycler_two, parent, false); holder = new ViewHolderTwo(inflate); inflate.setOnClickListener(this); } return holder; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { // Book.ResultBean.ListBean.StoryBean.ProductBean product = mList.get(position).getStory().getProduct(); Book.ResultBean.ListBean.StoryBean story = mList.get(position).getStory(); if (holder instanceof ViewHolderOne) { ((ViewHolderOne) holder).one_text.setText(story.getStoryname()); // ((ViewHolderOne) holder).one_text2.setText(product.getRealityprice() + ""); Glide.with(context).load(story.getIconurl()).into(((ViewHolderOne) holder).one_image); holder.itemView.setTag(position); } else if (holder instanceof ViewHolderTwo) { ((ViewHolderTwo) holder).two_text.setText(story.getStoryname()); Glide.with(context).load(story.getIconurl()).into(((ViewHolderTwo) holder).two_image1); Glide.with(context).load(story.getCoverurl()).into(((ViewHolderTwo) holder).two_image2); holder.itemView.setTag(position); } } @Override public int getItemCount() { return mList.size(); } @Override public int getItemViewType(int position) { // mList.get(position).getStory().getProduct().getContenttype() if (position < 4) { return ONE_ITEM; } else { return TWO_ITEM; } } class ViewHolderOne extends RecyclerView.ViewHolder { private TextView one_text; private ImageView one_image; public ViewHolderOne(View itemView) { super(itemView); // one_text2 = (TextView) itemView.findViewById(R.id.two_image2); one_text = (TextView) itemView.findViewById(R.id.one_text); one_image = (ImageView) itemView.findViewById(R.id.one_image); } } class ViewHolderTwo extends RecyclerView.ViewHolder { private TextView two_text; private ImageView two_image1, two_image2; public ViewHolderTwo(View itemView) { super(itemView); two_text = (TextView) itemView.findViewById(R.id.two_text); two_image1 = (ImageView) itemView.findViewById(R.id.two_image1); two_image2 = (ImageView) itemView.findViewById(R.id.two_image2); } } public interface onClick{ void setItem(View v, int possiton); } private onClick item =null; @Override public void onClick(View view) { if(item!=null){ item.setItem(view,(int)view.getTag()); } } public void setListener(onClick item){ this.item=item; } }
recycleview多布局
最新推荐文章于 2022-08-15 17:21:44 发布