Java Android:如何将枚举标签添加到微调器,而不是enum.values()?
我正在尝试创建一个微调器列表,在该列表中,我的用户可以根据enum“language”类选择语言翻译 添加“Java Android:如何将枚举标签添加到微调器,而不是enum.values()?,java,android,enums,spinner,google-translate,Java,Android,Enums,Spinner,Google Translate,我正在尝试创建一个微调器列表,在该列表中,我的用户可以根据enum“language”类选择语言翻译 添加“Language.values()”有效, 但旋转器显示的是“af”而不是“南非荷兰语” 我希望在微调器中显示“南非荷兰语”名称,并选择onimselected我希望获得“af”值 这可能吗 public enum Language { AUTO_DETECT(""), AFRIKAANS("af"), ALBANIAN("sq"),
Language.values()
”有效,
但旋转器显示的是“af”而不是“南非荷兰语”
我希望在微调器中显示“南非荷兰语”名称,并选择onimselected
我希望获得“af”值
这可能吗
public enum Language {
AUTO_DETECT(""),
AFRIKAANS("af"),
ALBANIAN("sq"),
AMHARIC("am") ....and so no..
请参见此处的保持枚举类:
spinnerLanguage=(Spinner)findviewbyd(R.id.translate\u Spinner\u language);
spinnerLanguage.setAdapter(新的ArrayAdapter(这个,android.R.layout.simple_spinner_项,Language.values());
spinnerLanguage.setOnItemSelectedListener(新的OnItemSelectedListener()){
已选择公共位置(AdapterView父项、视图v、内部位置、长id)
{
Log.i(“语言”,parent.getItemAtPosition(pos.toString());
}
未选择公共无效(AdapterView父级)
{
}
});
将其更改为不同的函数,而不是覆盖toString()
:
public String shortCode() {
return language;
}
通过这种方式,toString()
将返回AFRIKAANS
以显示Spinner
显示,您可以在onItemSelected()
中调用shortCode()
以获得af
使其正常工作:)Log.i(Language.fromString(parent.getItemAtPosition.toString()).shortCode());
public String shortCode() {
return language;
}