我正在尝试制作一个微调列表,我的用户可以在其中基于枚举“语言”类选择语言翻译.
添加“ 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()添加到微调器?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)