package br.com.while42.rpgcs.activity.support;
import java.util.ArrayList;
import java.util.List;
import android.content.Context;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.SpinnerAdapter;
import br.com.while42.rpgcs.model.TypeCode;
public class ViewTools {
private Context context;
public ViewTools(Context context) {
this.context = context;
}
public void setOptionsSpinner(Spinner spinner, List<? extends TypeCode> types, TypeCode typeSelected) {
setOptionsSpinner(spinner, types);
setSelectionOptionsSpinner(spinner, typeSelected);
}
// TODO: Falta refatorar os dois metodos abaixo
public void setOptionsSpinner(Spinner spinner, List<? extends TypeCode> types) {
// setOptionsSpinner(spinner, (TypeCode[]) types.toArray());
List<Element> items = new ArrayList<Element>();
for (TypeCode g : types) {
items.add(new Element(g, context.getString(g.getCodeName())));
}
ArrayAdapter<Element> adapter = new ArrayAdapter<Element>(context, android.R.layout.simple_spinner_dropdown_item, items);
spinner.setAdapter(adapter);
}
public void setOptionsSpinner(Spinner spinner, TypeCode[] types) {
List<Element> items = new ArrayList<Element>();
for (TypeCode g : types) {
items.add(new Element(g, context.getString(g.getCodeName())));
}
ArrayAdapter<Element> adapter = new ArrayAdapter<Element>(context, android.R.layout.simple_spinner_dropdown_item, items);
spinner.setAdapter(adapter);
}
public void setSelectionOptionsSpinner(Spinner spinner, TypeCode type) {
SpinnerAdapter adapter = spinner.getAdapter();
for (int pos = 0; pos < adapter.getCount(); pos++) {
Element item = (Element) adapter.getItem(pos);
if (type.equals(item.getType())) {
spinner.setSelection(pos);
break;
}
}
}
public TypeCode getSelected(Spinner spinner) {
Element e = (Element) spinner.getSelectedItem();
return e.getType();
}
}