I Sprachen in meiner app mit diesem Code zu ändern:Drawable Ressourcen nicht nach Locale Änderungen & Activity geändert Neustart
protected void changeAppLangForUser(String lang) {
Resources res = getResources();
DisplayMetrics dm = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.locale = new Locale(lang);
res.updateConfiguration(conf, dm);
}
starten Aktivität:
Intent intent = new Intent(getActivity(), SplashScreenActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK | Intent.FLAG_ACTIVITY_NO_ANIMATION);
getActivity().startActivity(intent);
getActivity().overridePendingTransition(0, 0);
Strings werden wie erwartet geändert, aber keine Symbole gespeichert in Mipmap-Ordnern wie folgt:
Es scheint ziemlich seltsam, aber wenn ich auf jeden Fall die App zu schließen und dann auf Start-Symbol drücken, um es wieder zu starten, es sho ws Symbole für die erwartete Sprache. Vermisse ich etwas oder ist das ein erwartetes Verhalten?
Versuchen Sie, die recreate() Methode aufzurufen, anstatt die Aktivität zu starten – FAT