package com.ly.supermvp.adapter; import android.app.Activity; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import com.ly.supermvp.R; import com.ly.supermvp.model.pictures.PictureBody; import com.ly.supermvp.utils.GlideUtil; import com.ly.supermvp.widget.RatioImageView; import java.util.List; import butterknife.Bind; import butterknife.ButterKnife; /** * <Pre> * 美图大全瀑布流适配器 * </Pre> * * @author 刘阳 * @version 1.0 * <p/> * Create by 2016/3/21 16:36 * @see https://github.com/liuyanggithub/SuperMvp */ public class PictureGridAdapter extends RecyclerView.Adapter{ private List<PictureBody> mList; private Activity context; private OnImageClickListener mOnImageClickListener; public PictureGridAdapter(List<PictureBody> mList, Activity context) { this.mList = mList; this.context = context; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.item_picture_grid, parent,false); ItemViewHolder viewHolder = new ItemViewHolder(v); return viewHolder; } @Override public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) { if(holder instanceof ItemViewHolder){ ItemViewHolder viewHolder = (ItemViewHolder) holder; PictureBody pictureBody = mList.get(position); GlideUtil.loadImage(context, pictureBody.list.get(0).middle, viewHolder.iv_picture); viewHolder.tv_title.setText(pictureBody.title); } } @Override public int getItemCount() { return mList.size(); } public class ItemViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener { @Bind(R.id.iv_picture) RatioImageView iv_picture; @Bind(R.id.tv_title) TextView tv_title; public ItemViewHolder(View itemView) { super(itemView); ButterKnife.bind(this, itemView); iv_picture.setOriginalSize(50, 50); iv_picture.setOnClickListener(this); } @Override public void onClick(View v) { mOnImageClickListener.onImageClick(v, this.getPosition()); } } public void setOnImageClickListener(OnImageClickListener onItemClickListener) { this.mOnImageClickListener = onItemClickListener; } /** * 点击条目图片接口 */ public interface OnImageClickListener { void onImageClick(View view, int position); } }