java - android应用程序关闭时如何保持最后一种语言?
问题描述
我已经制作了一个应用程序 android 来更改语言。但是当应用程序关闭并再次打开时,语言恢复为默认语言。当应用程序再次打开并且语言是用户最后选择的语言时,我该如何制作?
感谢您的帮助,我真的很感激。
解决方案
您需要将用户选择的语言保存到共享首选项或任何其他持久存储中,在下次启动应用程序时检索先前选择的语言并将其应用于应用程序。
当用户更改语言时,为了应用新的语言活动应该完成并重新启动,否则您需要调用活动的recreate()方法。
将上面的类复制到您的代码中。
在您的活动中覆盖以下方法。
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(LocaleHelper.onAttach(base));
}
当用户更改语言时,例如单击按钮。使用以下代码保存语言。这里en是英语的语言 (iso) 代码。
@Override
public void onClick(View v) {
LocaleHelper.persist(context,"en");
recreate();
}
推荐阅读
- javascript - 尝试 JSON.parse 来自 Django 的序列化数据
- javascript - 使用数组查找匹配项的“For”循环不执行
- asp.net - 从桌面应用程序登录 Google Oauth2 网络?
- python - 在 Kubernetes 中运行的 Dockerized API 服务器响应时间慢?
- python - 在 Vmware 中出现错误“pip 配置了需要 TLS/SSL 的位置,但是 Python 中的 ssl 模块不可用。”
- python - 根据该行中的值以及前几行获取一行熊猫数据框
- c# - 映射多对多关系时自动映射器导致多个数据库调用
- php - WordPress 媒体库挂钩和过滤器在 2 个函数之间传递变量
- scala - Scala,我可以将类构造函数参数(未定义为隐式)作为隐式值传递吗?
- c++ - 模板编程初学者问题