如何在Android中获取语言列表
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在Android中获取语言列表相关的知识,希望对你有一定的参考价值。
您好我需要获取android设备上定义的语言列表,并希望使用语言代码和语言名称填充Spinner。我怎样才能做到这一点?
在此先感谢和问候c。
答案
只需使用Locale.getAvailableLocales()。
另一答案
使用:
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;
}
以上是关于如何在Android中获取语言列表的主要内容,如果未能解决你的问题,请参考以下文章
Android - 如何显示包含从片段中获取的字符串的快餐栏