package com.codeest.geeknews.ui.gank.adapter; import android.content.Context; import android.support.v7.widget.CardView; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ImageView; import android.widget.TextView; import com.codeest.geeknews.R; import com.codeest.geeknews.model.bean.GankItemBean; import com.codeest.geeknews.ui.gank.fragment.GankMainFragment; import com.codeest.geeknews.util.DateUtil; import java.util.List; import butterknife.BindView; import butterknife.ButterKnife; /** * Created by codeest on 16/8/20. */ public class TechAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> { private LayoutInflater inflater; private List<GankItemBean> mList; private OnItemClickListener onItemClickListener; private String tech; public TechAdapter(Context mContext, List<GankItemBean> mList,String tech) { inflater = LayoutInflater.from(mContext); this.mList = mList; this.tech = tech; } @Override public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { return new ViewHolder(inflater.inflate(R.layout.item_tech, parent, false)); } @Override public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) { if(tech.equals(GankMainFragment.tabTitle[0])) { ((ViewHolder)holder).ivIcon.setImageResource(R.mipmap.ic_android); } else if(tech.equals(GankMainFragment.tabTitle[1])) { ((ViewHolder)holder).ivIcon.setImageResource(R.mipmap.ic_ios); } else if(tech.equals(GankMainFragment.tabTitle[2])) { ((ViewHolder)holder).ivIcon.setImageResource(R.mipmap.ic_web); } ((ViewHolder)holder).tvContent.setText(mList.get(position).getDesc()); ((ViewHolder)holder).tvAuthor.setText(mList.get(position).getWho()); ((ViewHolder)holder).tvTime.setText(DateUtil.formatDateTime(DateUtil.subStandardTime(mList.get(position).getPublishedAt()), true)); holder.itemView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { if(onItemClickListener != null) { CardView cv = (CardView) view.findViewById(R.id.cv_tech_content); onItemClickListener.onItemClick(holder.getAdapterPosition(),cv); } } }); } @Override public int getItemCount() { return mList.size(); } public static class ViewHolder extends RecyclerView.ViewHolder { @BindView(R.id.iv_tech_icon) ImageView ivIcon; @BindView(R.id.tv_tech_title) TextView tvContent; @BindView(R.id.tv_tech_author) TextView tvAuthor; @BindView(R.id.tv_tech_time) TextView tvTime; public ViewHolder(View itemView) { super(itemView); ButterKnife.bind(this,itemView); } } public void setOnItemClickListener(OnItemClickListener onItemClickListener) { this.onItemClickListener = onItemClickListener; } public interface OnItemClickListener { void onItemClick(int position,View view); } }