Неподдерживаемая ISO 3166 страна ES?

Мое приложение для Android из того, что я тестировал, отлично работает с регионами Великобритании и США, но когда я меняю языковой стандарт на ES, я получаю следующую ошибку:

java.lang.IllegalArgumentException: неподдерживаемая ISO 3166 страна: es

Я проверил ISO 3166, и это определенно действительный код страны. Я пробовал изменить его на верхний регистр, без разницы.

Вот оскорбительный код:

Currency myCurrency;
myCurrency = Currency.getInstance(Locale.getDefault());

Любые идеи?


person KingFu    schedule 07.03.2013    source источник
comment
Вы можете попробовать getAvailableLocales() и проверить, установлен ли es языковой стандарт.   -  person PCoder    schedule 07.03.2013


Ответы (2)


Locale имена образуются с помощью кода языка (нижний регистр) и необязательного кода страны. Вы должны установить языковой стандарт по умолчанию на es-Es. Например, Locale.US на самом деле en-US.

person Javier    schedule 07.03.2013
comment
Спасибо, я попробую эти предложения, как только у меня будет установлена ​​и запущена моя eclipse ... - person KingFu; 12.03.2013

Попробуй это:

Currency.getInstance(new Locale("es", "ES"));
person Hasan El-Hefnawy    schedule 10.04.2020