2017-08-10 1 views
1

好奇心を払わない:ユーザーがマルチウィンドウモードを使用してアプリと設定を並べて表示する場合、携帯電話の設定メニューでロケールの変更をどのように処理する必要がありますか?それに応じて、すべての文字列リソースとスタッフに変更を通知するにはどうしたらよいですか(たとえば、API呼び出しにロケールが必要なため、すべてを再フェッチする必要があります)。今私はSystem.exit(0);をトリガする放送受信機を使用して、アプリ全体を再び起動しています。しかし明らかに、これはマルチウィンドウモードにうまく変換されません。Android 24+マルチウィンドウモードで実行時にロケールの変更を正しく処理するにはどうすればよいですか?

ありがとうございます!

答えて

1

ロケールの変更は、向きの変更と同様に構成の変更です。手動で処理する場合は、アクティビティにandroid:configChanges="locale"属性を使用して処理させることができます。ロケールをに設定すると、getLocales().get(0)を使用してロケールを取得し、現在のロケールと比較し、検出されたときに変更を処理できます。

これ以外の場合は、自分のアクティビティを再作成して、新しいアクティビティのロケールを1つの均一な方法で処理できます。

関連する問題