你好,我需要获取安卓设备上定义的语言列表,并将语言代码和语言名称填充到下拉菜单中。请问如何实现?
谢谢您的帮助。
c.
谢谢您的帮助。
c.
使用:
Resources.getSystem().getAssets().getLocales();
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;
}
val locales = Resources.getSystem().configuration.locales
这个可以在API 24及以上版本中正常工作。