Ich schreibe einen Code, der die Eingabe von einem AsyncTask(HttpUrlConnection)
zu einem anderen AsyncTask(HttpUrlConnection)
startet, die dann die Informationen verwendet, um Marker zu einer Google Map hinzuzufügen.Warten auf Abschluss der AsyncTask und Laden der Karte
Das Problem, mit dem ich konfrontiert bin, ist, dass die Karte nicht geladen wurde, wenn ich versuche, Marker über onPostExecute
hinzuzufügen. Aber wenn ich versuche, onMapReady
zu verwenden, sind die Daten noch nicht heruntergeladen worden.
Gibt es einen Weg, auf dem ich warten kann, bis die Daten geladen sind und die Karte bereit ist, bevor ich versuche, Marker zu platzieren?
Verwenden Sie einen benutzerdefinierten Listener (Schnittstelle) mit einer onFinished-Methode, und rufen Sie diese auf postExecute auf. Da Sie zwei asynks ausführen müssen, müssen Sie dies zweimal tun (oder beide im selben doInBackground anfordern). – user6547359
Sie können Flags für jeden "Schrittabschluss" setzen oder den [Future] (https: // developer .android.com/reference/java/util/concurrent/Future.html) für syncronicity – Bonatti
@Bonatti Wie kann ich das tun (Code bitte) ??? –