我试图清除我的 Android Eclipse 项目中的一些警告,但遇到了抱怨隐式 locale 的警告。我了解如何修复警告但考虑到它我意识到如果我开发一个以英语作为默认语言的 Android 应用程序并且用户选择了我的应用程序不提供翻译的另一种语言然后会有类似
str = getString(R.string.myString);
Locale userLocale = Locale.getDefault();
str.toLowerCase(userLocale);
可能无法正常工作,因为区域设置可能与 str 的当前语言不匹配,即英语。此外,如果我在添加文件时实现了更多语言,我不能假设 str 将始终使用英语values-XX/string.xml
(其中 XX 是其他语言的缩写:“de”代表德语,“es”代表西班牙语......)。
然后为了正确解决这个问题,我想知道是否有任何方法可以知道我在调用时检索的字符串是哪种语言环境/语言,Resources.getString()
而不是用户选择的语言环境(可以通过 检索Locale.getDefault()
)。