Android 更改活动中反映在先前创建的活动中的语言

Android 更改活动中反映在先前创建的活动中的语言,android,localization,Android,Localization,我正在使用两个按钮更改应用程序中的语言。有两个活动,它们都有语言更改按钮 问题是,当我从第一个活动转到第二个活动,然后更改语言时,第一个活动仍然使用旧语言。未调用onCreate,因为它未被终止。 我也要做更多的活动,我不想在应用程序中调用onCreate时完成和启动活动。如何更改语言而不必重新创建活动您可以尝试从活动中“手动”调用OnConfiguration Changed: Resources res = getResources(); DisplayMetrics dm = res.ge

我正在使用两个按钮更改应用程序中的语言。有两个活动,它们都有语言更改按钮

问题是,当我从第一个活动转到第二个活动,然后更改语言时,第一个活动仍然使用旧语言。未调用onCreate,因为它未被终止。
我也要做更多的活动,我不想在应用程序中调用onCreate时完成和启动活动。如何更改语言而不必重新创建活动

您可以尝试从活动中“手动”调用OnConfiguration Changed:

Resources res = getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.locale = newLocale;
res.updateConfiguration(conf, dm);
onConfigurationChanged(conf);
android:configChanges="locale"
还要在AndroidManifest中为您的活动声明:

Resources res = getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.locale = newLocale;
res.updateConfiguration(conf, dm);
onConfigurationChanged(conf);
android:configChanges="locale"

我做到了。我在简历上检查语言并更改它。工作正常谢谢你的回答太好了!很高兴我能帮忙!