Intereting Posts
Как я могу получить тип mime файла с его Uri? Как использовать новую библиотеку привязки данных Android для заполнения дочерних элементов LinearLayout на основе коллекции? Создание каталога в / sdcard не удается Уведомление Parse Push не отправляется с Android на канал Android: как получить список орфографии, упорядоченный по имени o по дате по убыванию? Как кодовое разделение между Android и iOS C2DM: Как использовать разрешение C2D_MESSAGE? Метод Android с переопределением видимости по умолчанию (пакет) (не должен работать, но делает – почему?) Camera2 Api..java.lang.IllegalArgumentException: у поверхности не было действительной родной поверхности Как нарисовать многоцветный жест в одном оверле Запуск LocationManager как службы Android Android: Appcompat 21 как добавить тень на панель действий PhoneGap Android-плагин для более качественной аудиозаписи? Ошибка дизайна сайта Android Android: проведите пальцем влево или вправо, чтобы просмотреть слайд-шоу

Получить код страны из названия страны в android

Я знаю, что есть способ получить название страны из кода страны, но возможно ли это и наоборот? Я до сих пор не нашел никакой функции, которая преобразует строку «Нидерланды» в «NL». Если возможно, как я могу получить коды стран?

public String getCountryCode(String countryName) { // Get all country codes in a string array. String[] isoCountryCodes = Locale.getISOCountries(); Map<String, String> countryMap = new HashMap<>(); // Iterate through all country codes: for (String code : isoCountryCodes) { // Create a locale using each country code Locale locale = new Locale("", code); // Get country name for each code. String name = locale.getDisplayCountry(); // Map all country names and codes in key - value pairs. countryMap.put(name, code); } // Get the country code for the given country name using the map. // Here you will need some validation or better yet // a list of countries to give to user to choose from. String countryCode = countryMap.get(countryName); // "NL" for Netherlands. return countryCode; } 

место действия

 Locale locale = new Locale("de"); locale.getCountry(); 

Не очень эффективно, но вы можете попробовать следующее:

 for (Locale locale : Locale.getAvailableLocales()) { if (locale.getDisplayCountry(Locale.US).equals("Netherlands")) { // Found ! } } 

Теперь есть несколько предостережений:

  • Ваша строка ввода написана на английском языке (если нет, знаете ли вы язык?)?
  • Это страна, в которой вы ищете часть поддерживаемой локали (если это не сработает)?