package com.dingmouren.dingdingmap.ui.adapter; import android.graphics.Bitmap; import android.support.v7.widget.CardView; import android.support.v7.widget.RecyclerView; import android.support.v7.widget.StaggeredGridLayoutManager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.LinearLayout; import com.bumptech.glide.Glide; import com.bumptech.glide.load.engine.DiskCacheStrategy; import com.bumptech.glide.request.animation.GlideAnimation; import com.bumptech.glide.request.target.SimpleTarget; import com.dingmouren.dingdingmap.MyApplication; import com.dingmouren.dingdingmap.R; import com.dingmouren.dingdingmap.bean.GankResultWelfare; import com.dingmouren.dingdingmap.listener.WelfareItemOnClickListener; import com.dingmouren.dingdingmap.ui.welfare.WelfarePresenter; import com.dingmouren.dingdingmap.util.Dp2Sp2PxUtil; import java.util.ArrayList; import java.util.List; /** * Created by mouren on 2017/3/12. */ public class WelfareAdapter extends RecyclerView.Adapter<WelfareAdapter.ViewHolder> { private List<GankResultWelfare> mList = new ArrayList<>(); private WelfareItemOnClickListener mListener; public void addList(List<GankResultWelfare> list){ this.mList.addAll(list); } public void setItemOnClickListener(WelfareItemOnClickListener listener){ this.mListener = listener; } public void clearList(){ this.mList.clear(); } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { View view = LayoutInflater.from(MyApplication.applicationContext).inflate(R.layout.item_welfare,parent,false); return new ViewHolder(view); } @Override public void onBindViewHolder(ViewHolder holder, int position) { holder.bindData(mList.get(position),position); holder.mImg.setOnClickListener(v -> { if (mListener != null){ mListener.onClick(holder.mImg,mList.get(position).getUrl(),position); } }); } @Override public int getItemCount() { return mList == null ? 0 : mList.size(); } public class ViewHolder extends RecyclerView.ViewHolder { CardView mCardView; ImageView mImg; public ViewHolder(View itemView) { super(itemView); mImg = (ImageView) itemView.findViewById(R.id.img_welfare); mCardView = (CardView) itemView.findViewById(R.id.card_view); } public void bindData(GankResultWelfare bean,int position){ Glide.with(MyApplication.applicationContext).load(bean.getUrl()) .crossFade(500) .placeholder(R.mipmap.item_bg) .diskCacheStrategy(DiskCacheStrategy.SOURCE) .into(mImg); } } }