package edu.mit.mitmobile2;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.view.ViewGroup.LayoutParams;
import android.widget.AbsListView;
import android.widget.ArrayAdapter;
import android.widget.TextView;
public class SimpleSpinnerAdapter extends ArrayAdapter<String> {
protected String mTitle;
protected List<String> mValues;
protected Context mContext;
private View mEmptyView;
private static List<String> combineTitleAndValues(String title, List<String> values) {
ArrayList<String> allStrings = new ArrayList<String>();
allStrings.add(title);
allStrings.addAll(values);
return allStrings;
}
public SimpleSpinnerAdapter(Context context, String title, List<String> values) {
super(context, android.R.layout.simple_spinner_item, combineTitleAndValues(title, values));
mContext = context;
mTitle = title;
mValues = values;
}
@Override
public View getDropDownView(int position, View convertView, ViewGroup parent) {
if(position == 0) {
if(mEmptyView == null) {
mEmptyView = new View(mContext);
mEmptyView.setLayoutParams(new AbsListView.LayoutParams(LayoutParams.FILL_PARENT, 0));
}
return mEmptyView;
}
if(convertView == null || convertView == mEmptyView) {
LayoutInflater inflator = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflator.inflate(R.layout.spinner_drop_down_row, parent, false);
}
TextView actionRow = (TextView) convertView;
actionRow.setText(mValues.get(position-1));
return actionRow;
}
}