5

Android アプリのロケールを変更したいので、次のコードを使用しました。

Locale locale = new Locale('fr'); // or whatever
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;

getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());

しかし問題は、私の見解は何も変わらないということです。ロケールの変更を表示するには、どのように再読み込みすればよいですか?

編集: すべてのビューが影響を受けます: ボタン、テキストビュー、チェックボックス。もちろん、ビューのテキストを手動で設定すると機能しますが、すべてのウィジェットで setText() を呼び出したくありません...ユーザー名がビューに表示され、ログオフ後に更新されなかったため、それはわかっています/ 別のユーザーでログオンします。そのため、テキストビューを手動で更新しましたが、ロケールを変更すると、すべてのビューで問題が同じであることがわかりました。

4

2 に答える 2

0

Activityロケールを変更するときに、現在の状態を「リロード」する方法を尋ねていると思います。

私の知る限り、 を再レイアウト/再作成するViewか、それらのテキストを再設定する必要があります。ただし、より良い解決策を見つけた場合は、共有してください。

于 2012-05-02T14:01:55.810 に答える