Использование HashMap для сопоставления String и int

У меня есть ListView, показывающий названия стран. Я сохранил имена в strings.xml как строковый массив с именем country_names .

При заполнении ListView я использую ArrayAdapter, который читает из strings.xml:

String[] countryNames = getResources().getStringArray(R.array.country_names);
ArrayAdapter<String> countryAdapter = new ArrayAdapter<String>(this, R.layout.checked_list, countryNames);
myList.setAdapter(countryAdapter);

Теперь у меня также есть CountryCode для каждой страны. Когда в ListView щелкают название конкретной страны, мне нужно тост за соответствующий CountryCode.

Я понимаю, что реализация HashMap - лучший метод для этого. Насколько мне известно, HashMap заполняется с помощью функции put ().

myMap.put("Country",28);

Теперь у меня следующие вопросы:

  1. Можно ли прочитать массив string.xml и использовать его для заполнения карты? Я имею в виду, что хочу добавить элементы на карту, но я должен иметь возможность сделать это, прочитав элементы из другого массива. Как я могу это сделать?

    Основная причина, по которой я спрашиваю, заключается в том, что я хочу хранить названия стран и коды в месте, где их легче добавлять / удалять / изменять.

  2. Строковые массивы хранятся в strings.xml. Где должны храниться подобные целочисленные массивы? В папке значений, но в каком-либо конкретном XML-файле?

10
задан Lightness Races with Monica 1 July 2011 в 09:32
поделиться