2012-02-06 15 views
5

Mam problem z uzyskaniem kodu waluty kraju. Moim zadaniem jest zdobycie lokalizacji użytkownika, sprawdzenie, w jakim kraju jest teraz, i uzyskanie kodu waluty tego kraju. Oto kod, który pobiera nazwę kraju i kod kraju z uzyskanej lokalizacji:Uzyskiwanie kodu waluty kraju

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()); 

Działa to doskonale. Teraz powinienem użyć klasy java.util.Currency, aby uzyskać obiekt Currency. Mogę użyć metody Currency.getInstance(Locale locale). Ale w klasie Locale nie ma konstruktora, który pozwala przekazywać tylko kod kraju jako argument. Oznacza, że ​​nie mogę utworzyć obiektu dla kraju. Jak można to rozwiązać? Z góry dziękuję.

+0

Istnieje konstruktor 'Locale (język łańcucha, kraj String)' zgodny z grupami językowymi 'ISO-639'. –

+0

Ustawienia regionalne (język ciągów znaków, ciągi znaków)? –

Odpowiedz

5

Powinieneś być w stanie wykorzystać Currency.getInstance(new Locale("",code)), z możliwym wyjątkiem przypadku, gdy kod kraju nie jest ważna.

+0

Dzięki, to działa! – Egor

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