3

私たちのアプリケーションは、デバイス設定とは関係なく、特定のロケールを適用します。これは、文字列が適切に翻訳されるまでの一時的な決定です。

    Configuration config = sContext.getResources().getConfiguration();
    if (!sDefaultLocale.equals(config.locale)) {
            Locale.setDefault(sDefaultLocale);
            config.locale = sDefaultLocale;
            sContext.getResources().updateConfiguration(config,
                    sContext.getResources().getDisplayMetrics());

    }

残念ながら、ロケールの強制はアプリ ウィジェットでは機能しません。ウィジェットは引き続きデバイスのロケールを使用します。アプリ ウィジェットに同じロケールを想定させる方法を探しています。

4

1 に答える 1

2

ロケールを変更したら、アプリ ウィジェットを更新する必要があります。そして重要な部分は、新しい RemoteView を作成するときに、remoteViews.setTextViewText(..) を使用してすべての文字列をプログラムで設定する必要があることです。

アプリ ウィジェットの文字列リソースが XML (android:text="@string/...") で定義されている場合、新しいロケールを設定しても変更されません。

于 2015-12-14T06:57:49.650 に答える