I am trying to make a spinner list where my users can select a language translations based on enum ‘Language’ class.
Adding the ‘Language.values()‘ works,
but the spinner shows “af” not “AFRIKAANS”
I want the “AFRIKAANS” name shown in the spinner and onItemSelected I want the get the “af” value.
is this possible?
public enum Language {
AUTO_DETECT(""),
AFRIKAANS("af"),
ALBANIAN("sq"),
AMHARIC("am") ....and so no..
See hold enum class here:
http://code.google.com/p/google-api-translate-java/source/browse/trunk/src/com/google/api/translate/Language.java
spinnerLanguage = (Spinner) findViewById(R.id.translate_spinner_language);
spinnerLanguage.setAdapter(new ArrayAdapter<Language>(this, android.R.layout.simple_spinner_item, Language.values()));
spinnerLanguage.setOnItemSelectedListener(new OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent, View v, int pos, long id)
{
Log.i("language", parent.getItemAtPosition(pos).toString());
}
public void onNothingSelected(AdapterView<?> parent)
{
}
});
Instead of overriding
toString(), change it to different function:This way
toString()will returnAFRIKAANSfor theSpinnerdisplay, and you can callshortCode()inonItemSelected()to getaf.