java – 保存用户选择的语言,Android

如何更改默认的string.xml?我可以将我的应用程序更改为五种不同的语言,但每当我关闭应用程序并重新打开它时.它可以追溯到默认的英语.

是否有可能以某种方式更改默认文件夹“值”.例如,从值(英语)默认为值-pt(葡萄牙语).

任何帮助深表感谢!

解决方法:

你可以使用以下

public void loadLocale() {
        String langPref = "Language";
        SharedPreferences prefs = getSharedPreferences("CommonPrefs",
                Activity.MODE_PRIVATE);
        String language = prefs.getString(langPref, "");
        changeLang(language);
    }

public void changeLang(String lang) {
        if (lang.equalsIgnoreCase(""))
            return;
        myLocale = new Locale(lang);
        saveLocale(lang);
        Locale.setDefault(myLocale);
        android.content.res.Configuration config = new android.content.res.Configuration();
        config.locale = myLocale;
        getBaseContext().getResources().updateConfiguration(config,getBaseContext().getResources().getDisplayMetrics());

    }

public void saveLocale(String lang) {
        String langPref = "Language";
        SharedPreferences prefs = getSharedPreferences("CommonPrefs",
                Activity.MODE_PRIVATE);
        SharedPreferences.Editor editor = prefs.edit();
        editor.putString(langPref, lang);
        editor.commit();
    }

并在onCreate()

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_change_language);
        loadLocale();
    }
上一篇:iOS 应用"无法安装应用程序 因为证书无效"的解决方案


下一篇:java – 如何在清单文件中指定依赖项,然后将其包含在我的.jar文件中?