如何在Android中获取语言列表

问题描述 投票:4回答:3

您好我需要获取Android设备上定义的语言列表,并希望使用语言代码和语言名称填充Spinner。我怎样才能做到这一点?

在此先感谢和问候c。

android localization internationalization
3个回答
2
投票

2
投票

使用:

Resources.getSystem().getAssets().getLocales();

0
投票
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;
}
© www.soinside.com 2019 - 2024. All rights reserved.