как выполнить исходный метод после завершения обратного вызова?

#java #android #api #asynchronous #synchronous

#java #Android #API #асинхронный #синхронный

Вопрос:

при разработке моего кода возникают некоторые проблемы. например)

a.java

 
public OnResultCallbackListener(){

part C

}


protected void onCreate(){

(skipped)
      button.setOnClickListener(){
            method a(arg0, arg1, arg2, ...., OnResultCallbackListener);
            --------------------------------
            part B
            --------------------------------
      }
}
  

Я хочу выполнить в таком порядке.
когда я нажимаю кнопку, выполняется метод a. И метод A вызовет обратный вызов (OnResultCallbackListener)
, и когда OnResultCallbackListener завершен (часть C), выполняется код ниже метода a (часть B)

итак, порядок таков: метод A — OnResultCallbackListener (часть C) — часть B. но мой код сначала выполняет часть B. OnResultCallbackListener требует подключения к серверу, поэтому я не могу его изменить.

в этой ситуации, как я могу выполнить свой код так, как я хочу?

Ответ №1:

Оберните прослушиватель обратного вызова составным прослушивателем.

 public OnResultCallbackListener(){
    // part C
}
public CompoundCallbackListener(){
    OnResultCallbackListener();
    // part B
}

protected void onCreate() {
    // (skipped)
    button.setOnClickListener(){
        method a(arg0, arg1, arg2, ...., CompoundCallbackListener);
    }
}