次のコードを使用してロケールを変更しようとしています:
private void changeLocal(Locale locale){
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
refresh();
}
private void refresh() {
finish();
Intent myIntent = new Intent(this, getClass());
startActivity(myIntent);
}
フランス語では機能しますが、ヘブライ語では機能しません。そこで、デバイスがサポートされているロケールを電話で調べたLocale.getAvailableLocales()
ところ、フランス語はあるがヘブライ語がないことがわかりました。
ハードコーディングされたヘブライ語のテキストを配置すると、それが表示されるのでインストールされますが、デバイスに強制的に使用させる方法がわかりません。
ヘブライ語を使用してデバイスを強制するのを手伝ってください。
PS をrefresh
追加しても、この作業を行うことができませんでした
android:configChanges="locale|layoutDirection"
私のマニフェストにはonConfigurationChanged
、私のアクティビティの