kik*_*iki 10 string android hashmap
我有一个显示国家名称的ListView.我已将strings.xml中的名称存储为名为country_names的字符串数组.
在填充ListView时,我使用从strings.xml读取的ArrayAdapter:
String[] countryNames = getResources().getStringArray(R.array.country_names);
ArrayAdapter<String> countryAdapter = new ArrayAdapter<String>(this, R.layout.checked_list, countryNames);
myList.setAdapter(countryAdapter);
Run Code Online (Sandbox Code Playgroud)
现在我每个国家都有一个CountryCode.在ListView上单击特定国家/地区名称时,我需要Toast相应的CountryCode.
我知道实现HashMap是最好的技术.据我所知,HashMap使用put()函数填充.
myMap.put("Country",28);
Run Code Online (Sandbox Code Playgroud)
现在我的问题是:
是否可以读取string.xml数组并使用它来填充Map?我的意思是,我想在Map中添加项目,但我必须能够通过读取另一个数组中的项目来实现.我怎样才能做到这一点?
我问的基本原因是因为我希望将国家/地区名称和代码保存在更容易添加/删除/修改它们的位置.
字符串数组存储在strings.xml中.必须存储类似的整数数组?在values文件夹中,但在任何特定的XML文件下?
Ser*_*tov 27
作为可能性之一,您可以在XML中存储2个不同的数组:字符串数组和整数数组,然后以编程方式将它们放入HashMap
.
数组的定义:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="countries_names">
<item>USA</item>
<item>Russia</item>
</string-array>
<integer-array name="countries_codes">
<item>1</item>
<item>7</item>
</integer-array>
</resources>
Run Code Online (Sandbox Code Playgroud)
和代码:
String[] countriesNames = getResources().getStringArray(R.array.countries_names);
int[] countriesCodes = getResources().getIntArray(R.array.countries_codes);
HashMap<String, Integer> myMap = new HashMap<String, Integer>();
for (int i = 0; i < countriesNames.length; i++) {
myMap.put(countriesNames[i], countriesCodes[i]);
}
Run Code Online (Sandbox Code Playgroud)它可能是一个带有任何名称的文件.看到这个
归档时间: |
|
查看次数: |
45190 次 |
最近记录: |