我有一个微调器,我想在其中选择美国的一个州,例如“德克萨斯州”,然后捕获该选择。我希望微调器上的显示为“德克萨斯州”、“加利福尼亚州”、“犹他州”等,但是当用户选择它并且我捕获该值时,我希望该值为“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/