私の中の他の言語を変更するには、以下のコードを使用しています。しかし、アプリ内で言語を変更した後は常にデフォルトの文字列ファイルを使用します。スタジオでは、同じ値のフォルダに新しい他の言語の文字列ファイルが作成されます。 Plsは私を助ける。ここでは、マレー語のロケール「ms-rMY」を渡しています。私も "ms"で試しました。あなたはこのコンストラクタを使用して、言語、国とのLocaleオブジェクトを作成することができます。この他の言語の文字列ファイルを変更できません。常にデフォルトの文字列ファイル
Local myLocale = new Locale("ms", "MY");
のようにローカルオブジェクトを作成する必要があるコード
public void updateLocale(String language) {
Locale myLocale = new Locale(language);
Locale.setDefault(myLocale);
Resources res = getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.locale = myLocale;
res.updateConfiguration(conf, dm);
finish();
Intent refresh = new Intent(getApplicationContext(), MainActivity.class);
refresh.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(refresh);
}
あなたのコードは大丈夫でしょうか、多分問題はあなたの値xxフォルダにあります。あなたは値-frのような簡単なものを試してから、 "fr"にロケールを設定できますか? – lelloman