Получение кода валюты страны


У меня проблема с получением кода валюты страны. Моя задача-узнать местоположение пользователя, узнать, в какой стране он сейчас находится, и получить код валюты этой страны. Вот код, который извлекает название страны и код страны из полученного местоположения:

Geocoder gc = new Geocoder(this);
List<Address> addresses = gc.getFromLocation(
                location.getLatitude(), location.getLongitude(), 5);

textView1.setText(addresses.get(0).getCountryName());
textView2.setText(addresses.get(0).getCountryCode());

Это прекрасно работает. Теперь я должен использовать класс java.util.Currency, чтобы получить объект Currency. Я могу использовать метод Currency.getInstance(Locale locale). Но в классе Locale нет конструктора, который позволяет передавать только код страны в виде аргумент. Значит, я не в состоянии создать объект для страны. Как это можно решить? Заранее спасибо.

3 5

3 ответа:

Вы должны иметь возможность использовать Currency.getInstance(new Locale("",code)), за возможным исключением, если код страны недействителен.

Почему бы вам не использовать объект Address для получения локали методом:

Http://developer.android.com/reference/android/location/Address.html#getLocale%28%29

String lang = Locale.getDefault().getDisplayLanguage();
Locale locale = new Locale(lang, COUNTRY_YOU_HAVE);