package com.jasonrobinson.racer.adapter;
import android.content.Context;
import android.graphics.Color;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.jasonrobinson.racer.R;
import com.jasonrobinson.racer.enumeration.PoeClass;
import com.jasonrobinson.racer.util.RawTypeface;
public class ClassSpinnerAdapter extends BaseAdapter {
Context mContext;
PoeClass[] mPoeClasses;
boolean mShowAll;
public ClassSpinnerAdapter(Context context, PoeClass[] poeClasses, boolean showAll) {
mContext = context;
mPoeClasses = poeClasses;
mShowAll = showAll;
}
@Override
public int getCount() {
return mPoeClasses.length + (mShowAll ? 1 : 0);
}
@Override
public PoeClass getItem(int position) {
if (mShowAll && position == 0) {
return null;
}
return mPoeClasses[mShowAll ? position - 1 : position];
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
return getView(position, convertView, parent, R.layout.support_simple_spinner_dropdown_item);
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
return getView(position, convertView, parent, android.R.layout.simple_spinner_item);
}
private View getView(int position, View convertView, ViewGroup parent, int layoutResId) {
View v = convertView;
TextView textView;
if (v == null) {
v = LayoutInflater.from(mContext).inflate(layoutResId, parent, false);
textView = (TextView) v.findViewById(android.R.id.text1);
textView.setTypeface(RawTypeface.obtain(mContext, R.raw.fontin_regular));
} else {
textView = (TextView) v.findViewById(android.R.id.text1);
}
PoeClass poeClass = getItem(position);
textView.setText(poeClass == null ? mContext.getString(R.string.all) : poeClass.toString());
return v;
}
}