我遇到一个问题,如果我打开 Android 应用程序,然后进入系统设置更改语言,然后再次打开应用程序,则应用程序中的某些字符串将不会被翻译,除非应用程序强制退出并重新启动。知道为什么会发生这种情况吗?我没有android:configChanges
set to "locale"
我的任何地方AndroidManifest
,那么这是否意味着所有活动都应该自行重新启动?
我也遇到了这个问题。我使用了下面的代码,该代码发布在一些 StackOverflow 答案中,然后它更改了语言而不刷新活动
public void setLocale(String lang) {
myLocale = new Locale(lang);
Resources res = getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.locale = myLocale;
res.updateConfiguration(conf, dm);
onConfigurationChanged(conf);
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
// refresh your views here
lblLang.setText(R.string.langselection);
super.onConfigurationChanged(newConfig);
}
我希望它能帮助你......
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)