交换语言*几乎工作

时间:2012-06-13 23:21:43

标签: android locale

所以,根据一个单独的问题,我问我正在使用以下代码来切换语言。

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

然而,当我调用此代码时,没有任何反应(字面意思是,没有任何反馈,没有错误,没有任何反馈)。

我不确定我是否使用了正确的区域设置代码,并且对于区域设置如何转换为语言有点困惑...我希望有人可以告诉我具体我在这里缺少什么。

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方法。

所有帮助非常感谢。

1 个答案:

答案 0 :(得分:2)

AH!

所以,解决方案(至少是一个有效的方法,如果它不是正确的方式,也许其他人会以正确的方式插入)似乎是在此代码之后再次setContentView。语言元素全部正确显示。英语是“en”,西班牙语是“es”。