1

私の問題は、ロケール言語を動的に設定するために以下のコードを使用していることです。デフォルトのロケールを変更しますが、 onResume() を呼び出した後、アプリの最初のページにいるのですぐに実行したいです。

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

1 に答える 1

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());

}
于 2013-07-16T13:33:34.203 に答える