Ich folge Android N change language programmatically zu geänderten Sprache meiner App in Android N und höher. Ich habe jedoch immer noch das Problem mit der Anwendungskontext-Instanz.Android: Sprache ändern android N, Anwendungsinstanz nicht aktualisiert
In meiner Anwendungsklasse:
private static Application mInstance;
public static Context getApplication() {
return mInstance;
}
@Override
public void onCreate() {
super.onCreate();
mInstance = this;
}
Die Sprache verändert wird, sondern Ressourcen erhalten aus dem Anwendungskontext nicht geändert wird. Zum Beispiel:
MyApplication.getApplication().getResources().getString(stringId);
Mit der falschen Sprachzeichenfolge zurückgegeben.
Kann ich die Anwendungsinstanz in dieser Situation aktualisieren? Ich blieb mehrere Stunden bei diesem Problem. Weil die MyApplication.getApplication() an vielen Stellen in meiner App verwendet wurde. Daher kann ich nicht in den Aktivitätskontext konvertieren.
Vielen Dank.
Versuchen Sie, onCreate for Application erneut aufzurufen, wenn eine Sprachänderung durchgeführt wird. 'MyApplication.getApplication(). OnCreate()'. Alternativ können Sie versuchen, die App bei einer Sprachänderung neu zu starten, die den Kontext festlegen sollte. – jitinsharma
haben Sie Ihre ** 'MyApplication' ** unter **' application' ** in der Manifestdatei hinzugefügt –