Ich muss wissen, bei welcher Fragment-Callback-Methode wir einen Web-Service aufrufen sollen, mit dem nach dem Comeback wieder der Fragment-Web-Service nicht erneut aufrufen soll.
Zum Beispiel. Ich habe eine Fragmentklasse MyFragment.java
%Vor% Ich muss wissen, welche Callback-Methode ich Webservice aufrufen muss, um die UI des Fragments zu aktualisieren. Im Moment rufe ich Webdienste von onCreateView
method an. aber ich muss wissen, was der beste Weg sein sollte, Web-Service von Fragment zu nennen.
Wenn ich Ihr Problem richtig verstanden habe, möchten Sie einige Daten vom Server holen und dann das Fragment darüber informieren, dass die Daten vorbereitet sind und das Fragment neu zeichnen, ist das korrekt? Laut der Dokumentation hier :
onCreate () - Das System ruft dies beim Anlegen des Fragments auf. Innerhalb Ihrer Implementierung sollten Sie wesentliche Komponenten des Fragments initialisieren, die Sie beibehalten möchten, wenn das Fragment angehalten oder gestoppt und dann wieder fortgesetzt wird.
onCreateView () Das System ruft dies auf, wenn das Fragment seine Benutzeroberfläche zum ersten Mal zeichnen soll. Um eine Benutzeroberfläche für Ihr Fragment zu zeichnen, müssen Sie eine Ansicht von dieser Methode zurückgeben, die das Stammverzeichnis Ihres Fragments ist. Sie können null zurückgeben, wenn das Fragment keine Benutzeroberfläche bereitstellt.
Wenn Sie ein Fragment irgendwo anders in Ihrer Anwendung erstellen, wird onCreate()
method aufgerufen. Wenn das Fragment zum ersten Mal gezeichnet werden soll, wird onCreateView () aufgerufen und diese Methode gibt eine erstellte View zurück. In Ihrem Fall könnten Sie wahrscheinlich mit etwas gehen wie:
onCreate
, initialisiere alle diese Daten (leerer Container), initialisiere den Adapter und führe dann AsyncTask
. onCreateView
, bereite die Ansicht so vor, dass sie zurückgibt - Adapter usw. Also, sobald AsyncTask
fertig ist, ruft sie in onPostExecute
your_adapter.notifyDataSetChanged()
auf. Dadurch wird das Fragment neu gezeichnet, da der Adapter darüber informiert wird, dass sich Daten geändert haben (vom Server abgerufen). Hängt davon ab, wann Sie die Daten abrufen möchten. Willst du es jedes Mal, wenn die App in den Vordergrund kommt? Verwende onResume () Willst du es nur, wenn die App zum ersten Mal startet? Verwenden Sie onViewCreated (), das nach onCreateView aufgerufen wird, fertig ist.
Tags und Links java android android-fragments web-services android-fragmentactivity