Android中的区域设置在设置后立即工作

时间:2013-07-16 13:21:09

标签: android locale onresume

我的问题是我使用下面的代码动态设置语言环境语言。它改变了默认的语言环境但是在调用onResume()后我想立即运行它,因为我在我的应用程序的第一页。

locale = new Locale("de");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());

1 个答案:

答案 0 :(得分:0)

编辑:

在SharedPref中保存选择的语言:

  SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
  SharedPreferences.Editor editor = preferences.edit();
  editor.putString("Lang",ChoosenLang);
  editor.commit();

获取onCreate中的值

    SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
      String Language = preferences.getString("Lang","de");
if (Language != null && !Language.isEmpty()) {
  // Your Language code here

locale = new Locale(Language); // Language=de
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());

}