2012-02-06 19 views
5

Tengo un problema para obtener el código de moneda de un país. Mi tarea es obtener la ubicación del usuario, averiguar qué país es en este momento y obtener el código de moneda de este país. Aquí está el código que recupera el nombre del país y el código de país de la ubicación adquirida:Adquiriendo el código de moneda de un país

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

Esto funciona perfectamente bien. Ahora debería usar la clase java.util.Currency para obtener un objeto Currency. Puedo usar el método Currency.getInstance(Locale locale). Pero no hay ningún constructor en la clase Locale que permita que solo se pase el código de país como argumento. Significa que no puedo crear un objeto Locale para el país. ¿Cómo se puede resolver esto? Gracias por adelantado.

+0

Hay un constructor 'Locale (String language, String country)' que se ajusta a los grupos de idiomas 'ISO-639'. –

+0

Configuración regional (lenguaje de cadenas, país de cadenas)? –

Respuesta

5

Usted debe ser capaz de utilizar Currency.getInstance(new Locale("",code)), con una posible excepción si el código de país no es válido.

+0

¡Gracias, esto funciona! – Egor

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