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

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

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

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

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

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

Есть идеи?

1 ответ

Решение

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

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

Currency.getInstance(new Locale("es", "ES"));
Другие вопросы по тегам