0

コアとライブラリを持つプロジェクトがあります

コア プロジェクトの実行時にロケールを変更します。

問題は、ライブラリ プロジェクトに

Locale.getDefault(); 

デバイスのロケールのみを返しますが、アプリのロケールは返しません。つまり、アプリでロケールをフランス語に変更すると、デバイスが English を使用している場合、ライブラリ プロジェクトによって取得されるロケールは引き続き英語になります。修正方法は?ありがとう

4

1 に答える 1

1

デフォルトのロケールを変更できます。

以下のコードで試すことができます。

Locale locale = new Locale("fr"); //if you want to change to French
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
      getBaseContext().getResources().getDisplayMetrics());

または、ロケール セッター メソッドを作成します。

 public void setLocale(String newLocale) {
    Locale locale = new Locale(newLocale);
    Locale.setDefault(locale);

    Configuration config = new Configuration();
    config.locale = locale;

    context.getResources().updateConfiguration(config, context.getResources().getDisplayMetrics() );
 }
于 2014-11-21T17:43:19.743 に答える