私のアプリでアラビア語と英語を使用しようとしています。ノーガット以下で動作するデバイスで動作します。しかし、oreoデバイスでは機能しません。 API 26に新しいコード要件がありますか?私は以下のコードを使用しています。Oreoで言語を変更できません
public void changeLanguage(Context context, String language) {
Locale locale = new Locale(language);
Locale.setDefault(locale);
Configuration config = context.getResources().getConfiguration();
config.setLocale(locale);
context.createConfigurationContext(config);
context.getResources().updateConfiguration(config, context.getResources().getDisplayMetrics());
}
言語の引数として "en"と "ar"を渡しています。
このメソッドを呼び出す必要がある場所は、レイアウトセットの前に呼び出されます。 –
私はレイアウトを設定した後にそれを呼び出しました。ボタンのonclickListenerの内側。 –