屏幕旋转时保存语言

这个问题在这里已经有了答案:

  • 使用保存实例状态保存Android活动状态25个答案

  • 使用共享首选项可以存储语言并在屏幕方向更改时获取存储值。

    public String setLocale(String lang) {
        Locale myLocale = new Locale(lang);
        Resources res = getResources();
        DisplayMetrics dm = res.getDisplayMetrics();
        Configuration conf = res.getConfiguration();
        conf.locale = myLocale;
        res.updateConfiguration(conf, dm);
        Intent refresh = new Intent(this, Login.class);
        startActivity(refresh);
        finish();
        // save shared preference here or later, your choice.
        return lang;
    }
    

    代码来创建和保存共享偏好。

    SharedPreferences  preferences = PreferenceManager.getDefaultSharedPreferences(this);
    SharedPreferences.Editor nameEditor = preferences.edit();
    nameEditor.putString("saved_lang", lang);
    nameEditor.commit();
    

    代码来检索共享首选项的值。

    //To get language when screen changes.
    String lang = preferences.getString("saved_lang", "");
    

    您可以使用相同的主体来保存其他值和设置。

    链接地址: http://www.djcxy.com/p/26195.html

    上一篇: Save language when the screen is rotated

    下一篇: Saving the state of the application