Skip to content

Instantly share code, notes, and snippets.

@achuinard
Created August 13, 2015 19:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save achuinard/bb5c31810cf2ad9c9a8e to your computer and use it in GitHub Desktop.
Save achuinard/bb5c31810cf2ad9c9a8e to your computer and use it in GitHub Desktop.
package com.twansoftware.invoicemakerpro.adapter;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;
import java.util.Map;
/**
* Created by achuinard on 8/11/15.
*/
public class EnumLocalizedSpinner<T> extends ArrayAdapter<T> {
private final Map<T, String> mStrings;
public EnumLocalizedSpinner(final Context context, T[] enumItems, Map<T, String> stringResources) {
super(context, android.R.layout.simple_spinner_item, enumItems);
mStrings = stringResources;
setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
}
@Override
public final View getView(int position, View convertView, ViewGroup parent) {
final T item = getItem(position);
final TextView tv = (TextView) super.getView(position, convertView, parent);
setupTextView(item, tv);
return tv;
}
@Override
public final View getDropDownView(int position, View convertView, ViewGroup parent) {
final TextView tv = (TextView) super.getDropDownView(position, convertView, parent);
setupTextView(getItem(position), tv);
return tv;
}
protected void setupTextView(T item, TextView tv) {
tv.setText(mStrings.get(item));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment