Android lifecycle: Füllen Sie die Daten in der Aktivität in onStart() oder onResume()?

Sollten Sie die Daten über einen cursor und füllen Sie die Daten auf dem Bildschirm, wie das einstellen der Fenster-Titel, in onStart() oder onResume()?

onStart() scheint der logische Ort, weil nach onStart() die Aktivität kann bereits angezeigt, wenn auch im hintergrund. Vor allem ich hatte ein problem mit einem verwaltet dialog, die mich zum überdenken dieser. Wenn der Benutzer dreht den Bildschirm, während der dialog noch offen ist, onCreateDialog() und onPrepareDialog() genannt werden zwischen onStart() und onResume(). Wenn der dialog muss auf der Grundlage der Daten, die Sie benötigen, um die Daten vor onResume().

Wenn ich mich richtig über onStart() warum dann nicht die Notepad-Beispiel geben ein schlechtes Beispiel, indem Sie es in onResume()? Sehen http://developer.android.com/resources/samples/NotePad/src/com/example/android/notepad/NoteEditor.html NoteEditor.java Linie 176 (title = mCursor.getString...).

Außerdem, was ist, wenn meine Aktivität startet eine andere Aktivität/Dialog, die änderungen der Daten meine cursor-tracking. Selbst im einfachsten Fall bedeutet das, dass ich manuell update meinem vorherigen Bildschirm (ein listener für einen dialog in der Haupt-Aktivität), oder alternativ, dass ich mich registrieren eine ContentObserver, da bin ich mir nicht mehr die Aktualisierung der Daten in onResume() (obwohl ich könnte es zweimal aktualisiert natürlich)?

Ich weiß, es ist eine grundlegende Frage, aber der dialog erst vor kurzem, zu meiner überraschung, hat mich dies zu realisieren.

InformationsquelleAutor pjv | 2011-01-08
Schreibe einen Kommentar