java - 为微调器中的字符串数组项分配值

标签 java android spinner

我有一个微调器,我想在其中选择美国的一个州,例如“德克萨斯州”,然后捕获该选择。我希望微调器上的显示为“德克萨斯州”、“加利福尼亚州”、“犹他州”等,但是当用户选择它并且我捕获该值时,我希望该值为“57”而不是“德克萨斯州” 。我知道我可以这样做:

String selection = my_spinner.getSelectedItem().toString();
int selectionVal;

if(selection = "Texas"){
   selectionVal = 57;
}

但我必须为很多州这样做。有没有办法像我上面解释的那样做到这一点?如果没有,最有效的方法是什么?谢谢。

最佳答案

您可以创建一个 HashMap,其中包含州名称作为键,并将其等效数字作为值。

用户从Spinner中选择一个值后,您所需要做的就是从HashMap中获取该值并显示它。

例如,您可以尝试这样的事情

HashMap<String,Integer> myMap=new HashMap<String,Integer>();

myMap.put("Texas",57);

您可以将所有值添加到此HashMap

现在,当您从 Spinner 中获取所选选项时,您可以从 HashMap 中获取值。

selectionVal=myMap.get(selection);

希望这有帮助:)

关于java - 为微调器中的字符串数组项分配值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37626372/

相关文章:

c# - 多语言开发

java - 如何在jsf中显示多对多的jpa集合?

安卓 SQL 错误

android - 为什么我的动态微调器没有填充

Android DataBinding - 将 Spinner 与自定义适配器绑定(bind)

java - 如何追加多个 SPARQL 查询的结果并将其写入 RDF

java - 如何在 Swing 中左对齐和右对齐组件?

android - 如何在 Android 中动态创建按钮?

android - Windows 中的 Android 版 FFMPEG 无法成功编译

android - 更改微调器箭头,Appcompat v21