package vit.vithandbook.adapter;
import android.content.Context;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.GradientDrawable;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.Random;
import vit.vithandbook.R;
import vit.vithandbook.model.Article;
public class ArticleListAdapter extends RecyclerView.Adapter<ArticleListAdapter.ArticleViewHolder> {
Context activity;
int[] colors;
onItemClickListener itemClickListener;
ArrayList<String> objects;
class ArticleViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView circle, content;
ArticleViewHolder(View v)
{
super(v);
circle = (TextView) v.findViewById(R.id.tvCircle);
content = (TextView) v.findViewById(R.id.tvContent);
v.setOnClickListener(this);
}
public void onClick(View v) {
String data = objects.get(getAdapterPosition());
Log.e("Oh",data);
if (itemClickListener != null) {
itemClickListener.onItemClick(data);
}
}
}
@Override
public ArticleViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(activity).inflate(R.layout.article_list_item, parent, false);
return new ArticleViewHolder(view);
}
public ArticleListAdapter(Context context, ArrayList<String> objects) {
activity = context;
this.objects = objects;
colors = activity.getResources().getIntArray(R.array.sub_light_colors);
}
@Override
public void onBindViewHolder(ArticleViewHolder holder, int position) {
if(position<getItemCount()) {
int index = Math.abs(position)%11;
holder.content.setText(objects.get(position));
((GradientDrawable) holder.circle.getBackground()).setColor(colors[index]);
holder.circle.setText(String.valueOf(Character.toUpperCase(objects.get(position).charAt(0))));
}
}
public void setData(ArrayList<String> data)
{
objects = data ;
}
@Override
public int getItemCount() {
return objects.size();
}
public void setOnItemClickListener(onItemClickListener listener) {
this.itemClickListener = listener;
}
}