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