如何解决刷新活动后将语言字符串更改为不同
我创建了由两个活动组成的应用程序。第一个是某种项目列表,第二个是查看有关从第一个屏幕选择的特定项目的详细信息。我没有为我创建的每个项目创建活动,而是使用 Intent putExtra
加载内容。关键是我的应用程序还可以选择更改语言,这就是问题所在。当我更改语言时(正如我们所知,如果我想更改语言环境,我需要刷新/重新创建活动)由 putExtra
发送的所有内容都会消失(这很明显,因为此视图是模板之王,重新创建后有没有数据)。我可以使用 onSaveInstanceState
保存该数据或使用 SharedPreferences
保存它,然后加载此保存的数据,但此保存的数据使用旧语言,因此我将始终检索相同的字符串。
用例:
我真正想要的是什么?更改语言后,应用程序应显示相同的字符串,但使用其他语言。这甚至可能吗(以这种方式使用动态加载的数据)?
更改语言的功能
public void change_language(Activity activity,String language)
{
Locale locale = new Locale(language);
Locale.setDefault(locale);
Resources resources = activity.getResources();
Configuration config = resources.getConfiguration();
config.setLocale(locale);
resources.updateConfiguration(config,resources.getdisplayMetrics());
recreate();
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。