Frage

ich eine ListView haben, die in einem TabWidget ist. Wenn ich ein Element auf dem ListView auswählen und auf das Kind ListView gehen, verschwindet die TabWidget. Das ist in Ordnung, mit der Ausnahme, dass es ruft die onPause Methode und damit bewirkt, dass onRestart aufgerufen wird, wenn ich an der Mutter ListView zurück.

Ich habe onRestart Setup aktualisierte Daten vom Server abzurufen, aber ich will das nicht bei jedem Besuch der Benutzer kehrt zum Mutter ListView auftreten. Ich möchte nur onRestart aufgerufen werden, wenn die Anwendung von im Hintergrund läuft lebendig. Ich habe versucht, eine Boolesche Variable Implementierung, um zu bestimmen, ob ich den Code ausführen soll, die innerhalb onRestart ist, aber es scheint nicht, ein Weg, um die Auswirkungen dieses zu erhalten, um.

Ideen?

War es hilfreich?

Lösung

Sie können Ihr Kind Aktivität mit startActivityForResult abfeuern und eine Fahne in onActivityResult nicht reload gesetzt (die aufgerufen werden soll, wenn der Benutzer den Rücken in die Listenansicht aus der Detailseite). Sie würden eine Membervariable haben (sagen wir mal mReload), dass Sie true in onCreate und onRestart gesetzt hatte, und zu false in onActivityResult, verarbeiten dann den Reload onResume wenn mReload wahr ist (und legen Sie es so ein normaler Lebenslauf false zurück wird nicht die reload auslösen).

Alternative: set nur einen Flag (mLeftPage) in Ihrer Tätigkeit auf der Klick Zuhörer Reihe. Beim Neustart wenn mLeftPage wahr ist, nicht neu zu laden nicht die Liste und Satz mLeftPage zurück auf false gesetzt. Andernfalls reload.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top