Android将精简值设置为微调器中的选定项目,弹出窗口中显示的项目会弹出

时间:2016-11-26 19:01:35

标签: java android spinner adapter

我在hashMap中列出了国家/地区的电话代码列表,如下所示:

hashmap.put("Angola", "+244");

我想将我的国家/地区名称数组设置为微调器适配器,当用户点击微调器选择一个国家/地区时,显示国家/地区名称列表,但是当他/她选择一个国家/地区的微调文字鞋时国家代码。 我不知道该怎么做。 图像可能有助于理解我的意思: in pop up selection of spinner The shown in spinner

1 个答案:

答案 0 :(得分:0)

它可能与您访问这些名称的方式非常相似。遗憾的是,地图不按位置编制索引,因此您必须迭代条目,键或值。 LinkedHashMap在这里很有用。这是一个简单的测试用例:

@RunWith(JUnit4.class)
public class Test {
    // NOTE: Using `LinkedHashMap` here to ensure that
    // the entries will be ordered by insertion.
    Map<String, String> map = new LinkedHashMap<>();

    @Before
    public void setUp() throws Exception {
        map.put("Country1", "+123");
        map.put("Country2", "+456");
    }

    @Test
    public void test() throws Exception {
        assertEquals("+123", getValueForPosition(0));
        assertEquals("+456", getValueForPosition(1));
    }

    private String getValueForPosition(int position) {
        int i = 0;
        for (String s : map.values()) {
            if (i == position) {
                return s;
            }
            i += 1;
        }
        return null;
    }
}