问题
App需要上传的参数中存在下拉菜单(spinner)的情况。而接口文档上的参数格式是这样的![](https://img.haomeiwen.com/i119025/180eb51a1b0a0018.png)
数字字典并不是下标从0开始,而是不规则发布的(比如2、3、4这样决定)。
解决思路
方法一 :
直接用spinner,然后获取position,通过+2这样的形式上传值。然后从后端获取并显示的时候再-2。这样出来的问题很多,可能你上传和显示的时候忘记了+2或者-2,这样都会出问题,像什么下标越界什么的。
方法二:
使用Map把数据字典存好(可以写成静态数据)。然后上传时通过获取spinner选中的值(注意!不是下标!是获取spinner的值)来迭代Map里面对应的key。
/**
* 获取int 值
*
* @param map 指定的数据字典
* @param value spinner选中的值
* @return 值对应的key
*/
public static int getKey(Map map, String value) {
int id = 0;
//将map集合中的映射关系取出,存入到set集合
Iterator it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry e = (Map.Entry) it.next();
if (e.getValue().equals(value)) {
id = (int) e.getKey();
System.out.println("键" + e.getKey() + "的值为" + e.getValue());
}
}
return id;
}
显示的时候就直接用后台返回的key来获取Map里面的值。
public static String getValue(Map map, int key) {
String value = "";
value = map.get(key).toString();
return value;
}
网友评论