Android:如何将枚举标签添加到微调器,而不是 enum.values()?
我正在尝试制作一个微调列表,我的用户可以在其中根据枚举“语言”类选择语言翻译。
添加 'Language.values()
' 有效, 但旋转器显示“af”而不是“AFRIKAANS” 我想要在微调器中显示“AFRIKAANS”名称,并且 onItemSelected
我想要获取“af”值。
这可能吗?
public enum Language {
AUTO_DETECT(""),
AFRIKAANS("af"),
ALBANIAN("sq"),
AMHARIC("am") ....and so no..
请参阅此处的 Hold 枚举类: 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)
{
}
});
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)
{
}
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不要覆盖
toString()
,而是将其更改为不同的函数:这样
toString()
将为Spinner
返回AFRIKAANS
code>显示,可以在onItemSelected()
中调用shortCode()
来获取af
。Instead of overriding
toString()
, change it to different function:This way
toString()
will returnAFRIKAANS
for theSpinner
display, and you can callshortCode()
inonItemSelected()
to getaf
.