在android中运行时更改语言

时间:2015-09-09 07:04:17

标签: android

我可以在不使用单独的值文件夹的情况下在运行时更改整个应用程序字符串,文本吗?

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());
此代码需要

values文件夹。

1 个答案:

答案 0 :(得分:1)

1.try like this it work for me


 public static void changeLanguage(String languageCode, Context context) 
  {
        Locale locale = new Locale(languageCode);
        Locale.setDefault(locale);
        Configuration config = new Configuration();
        config.locale = locale;
        context.getApplicationContext().getResources()
                .updateConfiguration(config, context.getResources()
                .getDisplayMetrics());

    }