我想以编程方式更改语言。
所以我构建了两个 xml 文件。
values-it
-->string.xml
values-en
-->string.xml
这是 MainActivity 中用于更改整个应用程序语言的代码:
//意大利语
Resources res = getApplicationContext().getResources();
DisplayMetrics dm = res.getDisplayMetrics();
android.content.res.Configuration conf = res.getConfiguration();
conf.locale = new Locale("it");
res.updateConfiguration(conf, dm);
//英语
Resources res2 = getApplicationContext().getResources();
DisplayMetrics dm2 = res2.getDisplayMetrics();
android.content.res.Configuration conf2 = res2.getConfiguration();
conf2.locale = new Locale("en");
res2.updateConfiguration(conf2, dm2);
现在,如果我设置英语(例如)代码执行时没有错误,但标签不会更改其文本。
如果我更改设备的方向,标签会正确更改其文本。
现在如何修改我的代码以自动刷新标签?
原文由 bircastri 发布,翻译遵循 CC BY-SA 4.0 许可协议
您必须重新加载活动才能显示新语言文本意味着重新启动。