![](/img/trans.png)
[英]Sort Enum.values() alphabetically and the add them to a Spinner ArrayAdapter
[英]Android: How to add enum labels to a spinner, not the enum.values()?
我正在尝试创建一个微调器列表,我的用户可以根据枚举“语言”类选择语言翻译。
添加' Language.values()
'有效,但是微调器显示“af”而不是“AFRIKAANS”我想要在微调器和onItemSelected
显示“AFRIKAANS”名称我希望得到“af”值。
这可能吗?
public enum Language {
AUTO_DETECT(""),
AFRIKAANS("af"),
ALBANIAN("sq"),
AMHARIC("am") ....and so no..
请参阅此处的hold enum类: 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)
{
}
});
而不是重写toString()
,将其更改为不同的函数:
public String shortCode() {
return language;
}
这样toString()
将返回AFRIKAANS
的Spinner
显示,并且可以调用shortCode()
在onItemSelected()
来获得af
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.