我在hashMap中列出了国家/地区的电话代码列表,如下所示:
hashmap.put("Angola", "+244");
我想将我的国家/地区名称数组设置为微调器适配器,当用户点击微调器选择一个国家/地区时,显示国家/地区名称列表,但是当他/她选择一个国家/地区的微调文字鞋时国家代码。 我不知道该怎么做。 图像可能有助于理解我的意思:
答案 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;
}
}