メインのアクティビティ (A と呼びましょう) と、アプリの言語を変更するために使用される 2 つ目のアクティビティ (B と呼びましょう) があります。ポイントは、ボタンをクリックして言語を変更すると、私も呼び出しrecreate();
、B が言語を変更することです。ここまでは大丈夫です。問題は、メイン アクティビティ (A) に戻ったときに発生し、言語が再作成されていないため言語が更新されていないため、A を更新するために B から A を再作成する方法はありますか?
このコードを使用してアプリを翻訳します (英語版の例):
public void btnIngles_onClick(View v)
{
Locale locale = new Locale("en");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
this.getApplicationContext().getResources().updateConfiguration(config, null);
recreate();
}