2016-05-12 52 views
0
  1. Wie kann ich die Sprache in allen Aktivitäten ändern, wenn ich eine andere Sprache wähle? Wenn ich zu einer zuvor geöffneten Aktivität zurückwechsle, bleibt sie mit derselben Konfiguration erhalten. Wie kann diese Aktivität auch aktualisiert werden?

ich bin mit dieser Methode:Sprache programmgesteuert ändern

public void setLocale(String lang) { 
    Locale myLocale = new Locale(lang); 
    Resources res = getResources(); 
    DisplayMetrics dm = res.getDisplayMetrics(); 
    android.content.res.Configuration conf = res.getConfiguration(); 
    conf.locale = myLocale; 
    res.updateConfiguration(conf, dm); 
    Intent refresh = new Intent(this, Language.class); 
    startActivity(refresh); 
    finish(); 
} 
  1. Wie kann ich meine Konfigurationen speichern? Wenn ich die App schließe und wieder öffne, möchte ich die letzte Konfiguration.

Antwort

0

Können Sie versuchen, diese Lösung: Set Locale programmatically

Locale locale = new Locale(lang); 
Locale.setDefault(locale); 
Configuration config = new Configuration(); 
config.locale = locale; 
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics()); 
0

können Sie gemeinsame Vorliebe verwenden, um die ausgewählte Sprache zu speichern. Und jedes Mal, wenn Sie wieder bei derselben Aktivität kommen, prüfen Sie zuerst die gemeinsame Präferenz. wie diese Language switching inside app android

hoffe ich, das wird Ihnen helfen :)

0
myLocale = new Locale("en"); 
     Resources res = getResources(); 
     DisplayMetrics dm = res.getDisplayMetrics(); 
     Configuration conf = res.getConfiguration(); 
     conf.locale = myLocale; 
     res.updateConfiguration(conf, dm); 

Das ist für mich gearbeitet. Sie können das "en" in eine andere Sprache ändern, wenn Sie möchten. Ich hatte das gleiche Problem wie du, hast aber diesen Code gefunden. Hoffe es hilft dir auch. Natürlich können Sie dies in eine Schaltfläche mit clicklistener setzen, wenn Sie möchten oder beim Start. Dieser Code hat überall für mich funktioniert. Viel Glück.