package com.purdue.CampusFeed.Adapters;
import android.content.Context;
import android.graphics.Color;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.purdue.CampusFeed.API.Event;
import com.purdue.CampusFeed.R;
import com.purdue.CampusFeed.Utils.Utils;
import se.emilsjolander.stickylistheaders.StickyListHeadersAdapter;
import java.util.ArrayList;
/**
* User: AnubhawArya
* Date: 4/22/14
* Time: 4:02 PM
*/
public class Top5Adapter extends ArrayAdapter<Event> implements StickyListHeadersAdapter {
public Top5Adapter(Context context, ArrayList<Event> events) {
super(context, R.layout.browseevents_rowlayout, events);
}
public View getHeaderView(int position, View convertView, ViewGroup parent) {
HeaderViewHolder holder;
if (convertView == null) {
holder = new HeaderViewHolder();
LayoutInflater inflater = (LayoutInflater) getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.header, parent, false);
holder.text = (TextView) convertView.findViewById(R.id.headerText);
convertView.setTag(holder);
} else {
holder = (HeaderViewHolder) convertView.getTag();
}
//set header text as first char in name
String headerText = "" + Utils.categories[((int) getHeaderId(position))];
holder.text.setText(headerText);
if (headerText.equals("Recreation"))
holder.text.setBackgroundColor(Color.parseColor("#2ecc71"));
else if (headerText.equals("Charity"))
holder.text.setBackgroundColor(Color.parseColor("#3498db"));
else if (headerText.equals("Social"))
holder.text.setBackgroundColor(Color.parseColor("#ffa400"));
else if (headerText.equals("Education"))
holder.text.setBackgroundColor(Color.parseColor("#9b59b6"));
else if (headerText.equals("University Event"))
holder.text.setBackgroundColor(Color.parseColor("#e58974"));
else
holder.text.setBackgroundColor(Color.parseColor("#95a5a6"));
return convertView;
}
public long getHeaderId(int position) {
return (long) Math.floor((int) (((double) position) / 5.0));
}
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) getContext()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(R.layout.browseevents_rowlayout, parent, false);
holder = new ViewHolder();
holder.eventImage = (ImageView) convertView.findViewById(R.id.event_image);
holder.eventName = (TextView) convertView.findViewById(R.id.event_name);
holder.eventTime = (TextView) convertView.findViewById(R.id.event_time);
holder.eventDescription = (TextView) convertView.findViewById(R.id.event_location);
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
Event e = getItem(position);
holder.eventName.setText(e.getEventName());
holder.eventTime.setText(e.getDatetime());
holder.eventDescription.setText(e.getEventDescription());
holder.eventImage.setImageResource(R.drawable.purdue_symbol);
return convertView;
}
public static class ViewHolder {
public TextView eventName, eventTime, eventDescription;
public ImageView eventImage;
}
class HeaderViewHolder {
TextView text;
}
}