package com.quinn.githubknife.ui.adapter;
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.github.quinn.iconlibrary.icons.OctIcon;
import com.quinn.githubknife.R;
import com.quinn.githubknife.ui.widget.RecycleItemClickListener;
import com.quinn.githubknife.utils.BitmapUtils;
import com.quinn.githubknife.utils.L;
import com.quinn.httpknife.github.TreeItem;
import java.util.List;
/**
* Created by Quinn on 7/19/15.
*/
public class TreeAdapter extends
RecyclerView.Adapter<TreeAdapter.ViewHolder>{
private static final String TAG = TreeAdapter.class.getSimpleName();
private List<TreeItem> dataItems;
private RecycleItemClickListener itemClickListener;
public TreeAdapter(List<TreeItem> 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_treelist, parent,
false);
return new ViewHolder(sView,itemClickListener);
}
@Override
public void onBindViewHolder(ViewHolder holder, int position) {
TreeItem treeItem = dataItems.get(position);
holder.treeItemName.setText(treeItem.getPath());
L.i(TAG, treeItem.getType());
if(treeItem.getType().equals(TreeItem.MODE_BLOB)){
BitmapUtils.setIconFont(holder.treeItemImg.getContext(), holder.treeItemImg, OctIcon.FILE,R.color.theme_color);
}else{
BitmapUtils.setIconFont(holder.treeItemImg.getContext(), holder.treeItemImg, OctIcon.FOLDER,R.color.theme_color);
}
}
@Override
public int getItemCount() {
return dataItems.size();
}
public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
private RecycleItemClickListener mItemClickListener;
public ImageView treeItemImg;
public TextView treeItemName;
public ViewHolder(View view,RecycleItemClickListener itemClickListener){
super(view);
treeItemImg = (ImageView) view.findViewById(R.id.treeItemImg);
treeItemName = (TextView) view.findViewById(R.id.treeItemName);
mItemClickListener = itemClickListener;
view.setOnClickListener(this);
}
@Override
public void onClick(View v) {
if(mItemClickListener != null){
mItemClickListener.onItemClick(v,getPosition());
}
}
}
public void setOnItemClickListener(RecycleItemClickListener listener) {
this.itemClickListener = listener;
}
}