2016-03-30 18 views
0

Ich habe Aktivität, die mit Informationen ausgefüllt wird. Wenn ich den Bildschirmausschaltknopf drücke und zurück zur Aktivität komme, ist die Information nicht mehr da.Verhindern, dass onDestroy aufgerufen wird Bildschirm aus gedrückt

Btw, Wenn ich die Home-Taste verwende, verschwindet die Info nicht. Auf Protokollen zeigt es, dass es onDestroy nicht aufruft;

Daher verwirft OnDestroy die Informationen. Ich möchte nicht auf Destroy verzichten. Hoffentlich konnte ich das schaffen.

Danke.

+1

wie etwa die Anzeige von Job in 'onResume tun()' 'statt onCreate()' –

+0

es posten Sie Ihren Code Tätigkeits deutlicher zu machen. –

+0

Was passiert, wenn jemand den Bildschirm dreht oder eine externe Tastatur anbringt? Diese und andere Ereignisse, rufen auch die 'Activity' Lifecycle-Methoden. Es wäre besser, alle Informationen, die Sie in irgendeiner Weise halten wollen speichern (das heißt in [onSaveInstanceState()] (http://developer.android.com/training/basics/activity-lifecycle/recreating.html#SaveState)) – PPartisan

Antwort

1

OnDestroy wird immer aufgerufen werden. Sie sollten Daten speichern und anschließend die Aktivität on onCreate neu erstellen. Alles ist schön erklärt here. Lesen Sie den Abschnitt "Persistenten Zustand speichern". Lesen Sie auch über den Lebenszyklus von Aktivitäten.

0

Versuchen Aktivität der Informationen über onSaveInstanceState() und Wiederherstellung des Zustands auf onRestoreInstanceState() zu speichern. Dieser Ansatz hilft Ihnen auch bei Konfigurationsänderungen Status. onSaveInstanceState() wird vor dem Zerstören der Aktivität aufgerufen und onRestoreInstanceState() wird kurz vor dem Erstellen der Aktivität aufgerufen. Folgen Sie this für weitere Details.

Verwandte Themen