package vit.vithandbook.adapter;
import android.content.Context;
import android.graphics.drawable.ColorDrawable;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import java.util.ArrayList;
import vit.vithandbook.R;
public class CardListAdapter extends RecyclerView.Adapter<CardListAdapter.CardViewHolder> {
Context context;
int[] color_dark,color_light;
onItemClickListener itemClickListener;
ArrayList<String> objects;
class CardViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
TextView circle, content;
CardViewHolder(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());
if (itemClickListener != null) {
itemClickListener.onItemClick(data);
}
}
}
public CardListAdapter(Context context, ArrayList<String> objects) {
this.context = context;
this.objects = objects;
color_dark = context.getResources().getIntArray(R.array.sub_dark_colors);
color_light = context.getResources().getIntArray(R.array.sub_light_colors);
}
@Override
public CardViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
View view = LayoutInflater.from(context).inflate(R.layout.sub_section_card, parent, false);
return new CardViewHolder(view);
}
@Override
public void onBindViewHolder(CardViewHolder holder, int position) {
if(position<getItemCount()) {
int index = Math.abs(position)%11;
holder.content.setText(objects.get(position));
holder.content.setBackgroundDrawable(new ColorDrawable(color_dark[index]));
holder.circle.setBackgroundDrawable(new ColorDrawable(color_light[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;
}
}