Как получить список языков в Android - PullRequest
4 голосов
/ 13 января 2011

Здравствуйте, мне нужно получить список языков, определенных на устройстве Android, и я хочу заполнить Spinner кодом языка и именем языка.Как я могу это сделать?

Заранее спасибо и привет c.

Ответы [ 3 ]

2 голосов
/ 08 января 2015

Использование:

Resources.getSystem().getAssets().getLocales();
2 голосов
/ 14 января 2011

Просто используйте Locale.getAvailableLocales () .

0 голосов
/ 02 января 2019
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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...