package com.quinn.githubknife.ui.adapter; import android.graphics.Typeface; import android.support.v7.widget.RecyclerView; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import com.nostra13.universalimageloader.core.DisplayImageOptions; import com.nostra13.universalimageloader.core.ImageLoader; import com.nostra13.universalimageloader.core.listener.ImageLoadingListener; import com.quinn.githubknife.R; import com.quinn.githubknife.ui.widget.AnimateFirstDisplayListener; import com.quinn.githubknife.ui.widget.RecycleItemClickListener; import com.quinn.httpknife.github.Repository; import java.util.List; /** * Created by Quinn on 7/23/15. */ public class RepoAdapter extends RecyclerView.Adapter<RepoAdapter.ViewHolder>{ private List<Repository> dataItems; private RecycleItemClickListener itemClickListener; public RepoAdapter(List<Repository> dataItems){ this.dataItems = dataItems; } @Override public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) { final LayoutInflater mInflater = LayoutInflater.from(parent .getContext()); final View sView = mInflater.inflate(R.layout.item_reposlist, parent, false); return new ViewHolder(sView,itemClickListener); } @Override public void onBindViewHolder(ViewHolder holder, int position) { Repository repo = dataItems.get(position); holder.name.setText(repo.getName()); holder.starSum.setText(""+repo.getStargazers_count()); holder.forkSum.setText(""+repo.getForks_count()); holder.language.setText(repo.getLanguage()); if(repo.isFork()){ holder.iconType.setText(R.string.icon_fork); }else{ holder.iconType.setText(R.string.icon_repo); } holder.description.setText(repo.getDescription()); } @Override public int getItemCount() { return dataItems.size(); } public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener{ private RecycleItemClickListener mItemClickListener; public TextView name; public TextView iconType; public TextView iconFork; public TextView forkSum; public TextView iconStar; public TextView starSum; public TextView description; public TextView language; public ViewHolder(View view,RecycleItemClickListener itemClickListener){ super(view); this.mItemClickListener = itemClickListener; name = (TextView) view.findViewById(R.id.repoName); iconType = (TextView) view.findViewById(R.id.iconType); iconFork = (TextView) view.findViewById(R.id.iconFork); forkSum = (TextView) view.findViewById(R.id.forkSum); iconStar = (TextView) view.findViewById(R.id.iconStar); starSum = (TextView) view.findViewById(R.id.starSum); description = (TextView) view.findViewById(R.id.description); language = (TextView) view.findViewById(R.id.language); Typeface typeface = Typeface.createFromAsset(view.getContext().getAssets(),"octicons.ttf"); iconType.setTypeface(typeface); iconStar.setTypeface(typeface); iconFork.setTypeface(typeface); view.setOnClickListener(this); } @Override public void onClick(View v) { if(mItemClickListener != null){ mItemClickListener.onItemClick(v,getPosition()); } } } public void setOnItemClickListener(RecycleItemClickListener listener) { this.itemClickListener = listener; } }