Frage

Ich habe 2 Aktivitäten A->B.A ist die übergeordnete Aktivität und B ist wie „Einstellungen“.In B trifft der Benutzer einige Entscheidungen, die die Datenbank der App aktualisieren.A muss die Datenbank lesen, um einige Textansichten entsprechend festzulegen.

Was ich dachte, dass es funktionieren würde, ist Folgendes:In B legt der Benutzer seine Auswahl fest (mithilfe einiger Umschaltschaltflächen) und in der Funktion onDestroy wird der Status der Schaltflächen gelesen und die Datenbank aktualisiert (ich habe keine Schaltfläche „Änderungen senden“, also verwende ich onDestroy).Dann rufe ich über die onResume-Funktion von A die Routine auf, die die Datenbank liest und die Felder aktualisiert.

Das Problem ist, dass die Änderungen in A nicht sichtbar sind.Aber wenn ich ohne neue Änderungen erneut zu B und zurück zu A gehe, sind die Änderungen sichtbar und korrekt.

Was ist also falsch und sollte getan werden?Ich kann eine Dummy-Aktivität zwischen A und B verwenden und das könnte funktionieren, aber ich weiß nicht, ob das eine gute Implementierung ist.Vielen Dank im Voraus!

War es hilfreich?

Lösung

Versuchen Sie es stattdessen onDestroy() Methode zum Beispiel onPause() oder onStop() Methode.Und schauen Sie sich das an:

enter image description here

Andere Tipps

Wenn Sie keine Schaltfläche zum Senden implementieren möchten, sollten Sie Ihre Datenbank besser aktualisieren onPause() anstatt onDestroy().

@Override
    protected void onPause() {
        super.onPause();    
            if (isFinishing()) {
                //Database updates here
            }
        }
    }
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top