Android开发经验谈Android开发Android知识

关于使用Map

2017-12-22  本文已影响25人  YuGoal

问题

App需要上传的参数中存在下拉菜单(spinner)的情况。而接口文档上的参数格式是这样的 参数.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;
    }
上一篇 下一篇

猜你喜欢

热点阅读