レイアウトをリロードせずにロケール/言語を変更するにはどうすればよいですか? ロケールを動的に変更するには、以下を実行する必要があります
mLocale = new Locale(LOCALE_ARABIC);
Locale.setDefault(mLocale);
Configuration config = new Configuration();
config.locale = mLocale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
MainActivity.this.setContentView(R.layout.activity_main);
しかし、私の場合、フラグメント内にフラグメントがあります。私のアプリ構造にActivity
は 8 つの置換可能なフラグメントがあり、各フラグメントには 4 ~ 5 つの置換可能な子フラグメントがあります。
また、メイン アクティビティの言語を変更するボタンがあります。そのため、ユーザーが言語を変更したときに特定のフラグメントをロードすることはほとんど不可能です。
上記のケースでロケールを変更する最善の方法を教えてください