首页 > 解决方案 > android应用程序关闭时如何保持最后一种语言?

问题描述

我已经制作了一个应用程序 android 来更改语言。但是当应用程序关闭并再次打开时,语言恢复为默认语言。当应用程序再次打开并且语言是用户最后选择的语言时,我该如何制作?

感谢您的帮助,我真的很感激。

标签: javaandroidstringandroid-layout

解决方案


您需要将用户选择的语言保存到共享首选项或任何其他持久存储中,在下次启动应用程序时检索先前选择的语言并将其应用于应用程序。

当用户更改语言时,为了应用新的语言活动应该完成并重新启动,否则您需要调用活动的recreate()方法。

https://github.com/gunhansancar/ChangeLanguageExample/blob/master/app/src/main/java/com/gunhansancar/changelanguageexample/helper/LocaleHelper.java

将上面的类复制到您的代码中。

在您的活动中覆盖以下方法。

 @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(LocaleHelper.onAttach(base));
    }

当用户更改语言时,例如单击按钮。使用以下代码保存语言。这里en是英语的语言 (iso) 代码。

@Override
    public void onClick(View v) {
     LocaleHelper.persist(context,"en");
     recreate();
}

推荐阅读