package com.gnod.geekr.app.adapter;
import java.util.ArrayList;
import java.util.Arrays;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import com.gnod.geekr.R;
public class SpinnerAdapter extends BaseAdapter {
private ArrayList mList;
private Context mContext;
public SpinnerAdapter(Context context, ArrayList<String> list) {
mContext = context;
mList = list;
}
public SpinnerAdapter(Context context, String[] array) {
this(context, new ArrayList<String>(Arrays.asList(array)));
}
public SpinnerAdapter(Context context) {
this(context, new ArrayList<String>());
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
SpinnerItem item;
if(convertView == null) {
convertView = LayoutInflater.from(mContext).inflate(R.layout.spinner_item, null);
item = new SpinnerItem();
item.textTitle = (TextView) convertView;
convertView.setTag(item);
} else {
item = (SpinnerItem) convertView.getTag();
}
setItemText(item.textTitle, position);
return convertView;
}
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
SpinnerItem item;
if(convertView == null) {
convertView = LayoutInflater.from(mContext).inflate(
R.layout.spinner_item_dropdown, null);
item = new SpinnerItem();
item.textTitle = (TextView) convertView;
convertView.setTag(item);
} else {
item = (SpinnerItem) convertView.getTag();
}
setDropDownItemText(item.textTitle, position);
return convertView;
}
public void setItemText(TextView view, int position) {
view.setText(getList().get(position).toString());
}
public void setDropDownItemText(TextView view, int position) {
view.setText(getList().get(position).toString());
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public Object getItem(int position) {
return getList().get(position);
}
@Override
public int getCount() {
return getList().size();
}
public void setList(ArrayList list) {
mList = list;
}
public ArrayList getList() {
return mList;
}
private class SpinnerItem {
public TextView textTitle;
}
}