package com.github.miao1007.animewallpaper.ui.adapter; import android.content.Context; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import butterknife.BindView; import butterknife.ButterKnife; import com.github.miao1007.animewallpaper.R; import com.github.miao1007.animewallpaper.support.api.ImageVO; import com.github.miao1007.animewallpaper.utils.SquareUtils; import java.util.ArrayList; import java.util.List; /** * Created by leon on 6/30/15. */ public class CardAdapter extends BaseAdapter<ImageVO> { public CardAdapter() { super(new ArrayList<ImageVO>()); } public CardAdapter(List<ImageVO> mDataset) { super(mDataset); } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { return onCreateItemViewHolder(parent, viewType); } private RecyclerView.ViewHolder onCreateItemViewHolder(ViewGroup parent, int viewType) { RecyclerView.ViewHolder vh; View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.list_item_sample, parent, false); vh = new MyViewHolder(v); return vh; } @Override void onBindItemViewHolder(RecyclerView.ViewHolder baseViewHolder, int position) { final MyViewHolder holder = (MyViewHolder) baseViewHolder; final Context context = holder.itemView.getContext(); SquareUtils.getPicasso(context) .load(data.get(position).getPrevurl()) .placeholder(R.drawable.place_holder) .into(holder.imageView); } /** * see <a href="https://youtu.be/imsr8NrIAMs?t=2163">Official Video</a> */ public static class MyViewHolder extends RecyclerView.ViewHolder { public @BindView(R.id.iv_card_preview) ImageView imageView; public MyViewHolder(View itemView) { super(itemView); ButterKnife.bind(this, itemView); itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View itemView) { if (getAdapterPosition() != RecyclerView.NO_POSITION && onItemClickListener != null) { onItemClickListener.onItemClick(itemView, getAdapterPosition()); } } }); } } }