相关疑难解决方法(0)

如何以编程方式更改语言?

我想以编程方式更改语言.

所以我构建了两个xml文件.

values-it
-->string.xml

values-en
-->string.xml
Run Code Online (Sandbox Code Playgroud)

这是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);
Run Code Online (Sandbox Code Playgroud)

//英语

Resources res2 = getApplicationContext().getResources();
DisplayMetrics dm2 = res2.getDisplayMetrics();
android.content.res.Configuration conf2 = res2.getConfiguration();
conf2.locale = new Locale("en");
res2.updateConfiguration(conf2, dm2);
Run Code Online (Sandbox Code Playgroud)

现在,如果我设置英语(例如),代码执行时没有错误,但标签不会更改其文本.
如果我更改设备的方向,标签会正确更改其文本.

现在我如何修改我的代码以自动刷新标签?

android localization

5
推荐指数
2
解决办法
2万
查看次数

标签 统计

android ×1

localization ×1