2016-04-04 5 views
-2

Meine Situation:Etwas über ein OnPostExecute rufen eine andere OnPostExecute

Erste OnPostExecute Anruffunktion A

in A, neue andere zweite OnPostExecute Funktion B

zu nennen WARUM Eine erste vor B Finish beenden wird?

Zum Beispiel:

public class ToStart extends otherClass{ 
    public void execute(){ 
     Target A = new Target("A"); 
     A.execute(); 
    } 
    public void print(String target){ 
     Log.v(LOG_TAG, target + " time: " + System.currentTimeMillis()); 
     if(target.equals("A")){ 
      Target B = new Target("B"); 
      B.execute(); 
     } 
    } 
    public class Target extends otherClass { 
     private String target; 

     public Target(String target) { 
      this.target = target; 
     } 

     protected void onPostExecute (String webData){ 
      super.onPostExecute(webData); 
      printTime(target); 
     } 

     protected String doInBackground(String... params){ 
      return super.doInBackground(params); 
     } 
    } 
} 

Ergebnis:

A time: 1459766772187 
B time: 1459766772209 

Wenn ich will ersten B Ziel machen und B muss von A genannt werden, wie kann ich tun? Jede Hilfe wird geschätzt! Vielen Dank!

+0

'B durch A' genannt werden muss, wenn Sie B von A bis genannt werden? Wenn Sie 'onPostExecute' aufrufen, ist A abgeschlossen –

+0

Zum Beispiel wird ein Objekt in A erstellt. Dann wird in B der Wert im Objekt geändert. Zuletzt, gebe das Objekt in A zu einer anderen Klasse zurück. Die Situation ist, dass nachdem das Objekt in A zurückgegeben wird, der Wert dieses Objekts in B geändert wird. – whatthekey

Antwort

0

Sie müssen für B warten:

B.execute().get();

Verwandte Themen