/ / AsyncTask führt onresume erneut aus - android-asynctask, oncreate, onresume, activity-lifecycle

AsyncTask führt onresume erneut aus - android-asynctask, oncreate, onresume, activity-lifecycle

Ich habe dieses kleine Problem.

Ich hole Daten aus dem Netzwerk in eine ListView mitAsyncTask. Wenn ich auf einen Gegenstand drücke, bringt er mich zu einer anderen Aktivität. Wenn ich dann die "Zurück" -Taste drücke, wird die AsyncTask nicht erneut ausgeführt. (Was genau ich will).

Das Problem ist, wenn ich auf der ListView die Zurück-Taste drücke, und dann wieder in die ListView-Aktivität komme, wird die AsyncTask erneut ausgeführt.

Ich bin mir nicht sicher, ob das passiert, weil die Aktivität der Listview alle Referenzen zerstört oder verliert, oder ob onResume (glaube ich) onCreate zurückrufen wird.

Antworten:

0 für die Antwort № 1

Wenn Sie zurück drücken, kehren Sie zur gleichen alten Instanz der Aktivität zurück.

Wenn Sie möchten, dass die asynctask erneut ausgeführt wird, müssen Sie ihre Ausführung in onResume aufrufen.

Nach dem, was Sie gesagt haben, scheint es, dass Sie dieasynctask wird in der Aktivität oncreate ausgeführt. Wenn Sie von Ihrer Listview-Aktivität zurückkehren und zurückkommen, erstellen Sie die Aktivität erneut und aus diesem Grund wird Ihre asynctask ausgeführt. onResume wird immer nach onCreate aufgerufen. OnResume wird immer aufgerufen, wenn Ihre Aktivität in den Fokus kommt.