java - 为什么 Android 中的 Locale.getDefault().getLanguage() 返回显示名称而不是语言代码?

标签 java android locale

根据 Java 引用,Locale.getLanguage() 应该返回语言的 2 个字母小写 ISO 代码(例如 en),而 getDisplayLanguage() 是获取可读名称(如English)的方法。

那么Android中的以下代码是怎么来的:

Locale.getDefault().getLanguage()

返回 EnglishEspañol 而不是 enes????

我完全不明白...

最佳答案

使用

getResources().getConfiguration().locale.getLanguage()

即使我认为您观察到的行为是一个值得报告的错误,它也能正常工作。

关于java - 为什么 Android 中的 Locale.getDefault().getLanguage() 返回显示名称而不是语言代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8747423/

相关文章:

c++ - 针对特定后端的 Boost.Locale 测试

java - .net 和 java 的不同 MD5 哈希值

java - System.out 对象属于 System 类还是 PrintStream 类?

java - 尝试从数据库捕获值并将其显示在 TextView 中时出现错误。安卓

android - 如何在 TextureView 上使用相机预览录制视频

Android 软件解码器 (OMX.google.h264.decoder) 无法解码 H264 视频

java - 从数组列表中获取值并求平均值

java - 通过 ; 分割字符串然后比较值

java - SimpleDateFormat 无法解析的日期 如果语言环境为 ES,则会出现错误。推特 "Created_At"

HTML 语言属性 : what is the role of the locale?