2

因此,根据我提出的另一个问题,我正在使用以下代码来切换语言。

当我手动(在设置中)更改 Android 中的语言时,它会从正确的可绘制资源和字符串资源中提取,所以我相信我已经正确配置了这些资源。

但是,当我调用此代码时,什么也没有发生(从字面上看,没有任何形式的反馈,没有错误,什么也没有)。

我不确定我是否使用了正确的语言环境代码,并且对语言环境如何翻译成语言感到有些困惑……我希望有人能告诉我我在这里缺少什么。

Resources res = getApplicationContext().getResources();

Locale locale = new Locale("us"); //here I have tried "en", "es", "en_US", "es_ES", nothing happens
Locale.setDefault(locale);

Configuration config = new Configuration();
config.locale = locale;

res.updateConfiguration(config, res.getDisplayMetrics());

这是通过单选按钮切换调用的,我已经设置了调试器,并且确定正在调用代码并且它正在将我期望的值传递给 Locale.setDefault 方法。

非常感谢所有帮助。

4

1 回答 1

2

啊!

因此,解决方案(至少是可行的,如果它不是正确的方式,也许其他人会加入正确的方式)似乎是在这段代码之后再次 setContentView 。然后语言元素都正确显示。它是英语的“en”和西班牙语的“es”。

于 2012-06-13T23:50:27.750 回答