Здравствуйте, мне нужно получить список языков, определенных на устройстве Android, и я хочу заполнить Spinner кодом языка и именем языка.Как я могу это сделать?
Заранее спасибо и привет c.
Использование:
Resources.getSystem().getAssets().getLocales();
Просто используйте Locale.getAvailableLocales () .
public static List<String> getLanguages() { String[] locales = Resources.getSystem().getAssets().getLocales(); List<String> list = new ArrayList<>(); for (Locale locale : Locale.getAvailableLocales()) { if (locale.getLanguage().length() == 2) { if (!isLanguageInList(list, locale)) { list.add(locale.getDisplayLanguage()); } } } Collections.sort(list); return list; } private static boolean isLanguageInList(List<String> list, Locale locale) { if (list == null) { return false; } for (String item: list) { if (item.equalsIgnoreCase(locale.getDisplayLanguage())){ return true; } } return false; }