Java-Android:如何将枚举标签而不是enum.values()添加到微调器?

Java-Android:如何将枚举标签而不是enum.values()添加到微调器?,第1张

概述我正在尝试制作一个微调列表,我的用户可以在其中基于枚举“语言”类选择语言翻译.添加“Language.values()”即可,但微调框显示的是“af”而不是“AFRIKAANS”我想要微调器和onItemSelected中显示的“AFRIKAANS”名称,我想要获取“af”值.这可能吗?publicenumLanguage{

我正在尝试制作一个微调列表,我的用户可以在其中基于枚举“语言”类选择语言翻译.

添加“ 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显示,并且您可以在onItemSelected()中调用shortCode()来获取af.

总结

以上是内存溢出为你收集整理的Java-Android:如何将枚举标签而不是enum.values()添加到微调器?全部内容,希望文章能够帮你解决Java-Android:如何将枚举标签而不是enum.values()添加到微调器?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1084225.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-27
下一篇 2022-05-27

发表评论

登录后才能评论

评论列表(0条)

保存