2016-04-04 5 views
-2

Моей ситуацию:Что-то об одном onPostExecute называет еще onPostExecute

Первой OnPostExecute функции вызова A

в пределах, новый другой второй OnPostExecute вызвать функцию B

ПОЧЕМУ завершится перед B закончить первое?

Например:

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); 
     } 
    } 
} 

Результат:

A time: 1459766772187 
B time: 1459766772209 

Если я хочу, чтобы сделать B закончить первый и B должен вызываться А, как я могу сделать? Любая помощь будет оценена! Благодаря!

+0

'B должна быть вызвана Ā', когда вы хотите назвать B на А? если вы вызываете 'onPostExecute', A завершается –

+0

Например, объект создается в A. Затем в B значение в объекте изменяется. Наконец, верните объект в A в другой класс. Ситуация заключается в том, что после возвращения объекта в A значение этого объекта в B изменяется. – whatthekey

ответ

0

Вы должны ждать B:

B.execute().get();