【发布时间】:2018-04-12 15:13:44
【问题描述】:
如果用户愿意,我有一种方法可以将我的应用程序从英语翻译成瑞典语,然后再翻译回来。但是,我真的不喜欢活动每次都重新启动的事实,因为这让我很难使用savedInstaceState,并且因此我遇到了几次崩溃。
这是我改变语言的方法的外观:
public void setApplicationLanguage(String language) {
myLocale = new Locale(language);
Resources res = activity.getResources();
DisplayMetrics display = res.getDisplayMetrics();
Configuration configuration = res.getConfiguration();
configuration.locale = myLocale;
res.updateConfiguration(configuration, display);
Intent refresh = new Intent(activity, StartupActivity.class);
activity.startActivity(refresh);
}
是否有可能在没有以下条件的情况下应用相同的功能:
Intent refresh = new Intent(activity, StartupActivity.class);
activity.startActivity(refresh);
?
【问题讨论】:
-
将该方法放入有效的 OnResume 方法中。
-
在片段 onResume 中还是在活动的 onResume 中?因为方法需要的是一个字符串@SAVVY。
-
您可以将字符串设为该类的全局字符串,以便获取或设置该字符串
-
你可以制作一个单音类并获取和设置数据并将方法放在onresume方法中
-
如果你喜欢这个解决方案,那就让我正式回答吧!