【如何在Android中获取语言列表】青春须早为,岂能长少年。这篇文章主要讲述如何在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;
}
推荐阅读
- 如何使用普通的POST请求将文件发送到apps脚本()
- Android 7本地化问题
- Android - 显示不同日期格式的月份名称
- 阿拉伯语言可能不会在Android Studio 2.3 XML预览中显示
- Apple Watch基本本地化显示错误的默认语言
- Android(如何在build.gradle中获取资源字符串以支持多种语言的多种口味())
- Android多语言支持(由于占位符计数不同导致的字符串格式问题)
- Android Wear没有拿起本地化版本
- 本地化不适用于App的初始加载