/ / Предаване изпълнение на главната нишка в ирони - java, android, multithreading

Предаване изпълнение на главната нишка в. - java, android, multithreading

Аз съм с Runnable да направя някои фонова задача вмоето приложение за Android. Стартиращият след приключване на задачата на заден план може да се обади на обратно повикване, което се изпълнява от повикващия на функцията, която изпълнява задача за изпълнение. Сега искам да предам изпълнение на главната нишка, след като се обади обратно.

public void DoInBackground(Callback callback)
{
Thread thread = new Thread(new Runnable(){
//Execution that to be done in background
//calling callback once the result is obtained
});
thread.start()
}

public void callee(){
DoInBackground(new callback(){
@Override
public void onSuccess(int value){
//Do operations after completion of background task
}
});
}

Искам onSucess да работи на основната нишка, а не на новите runnable, създадени във функцията DoInBackground. Знам, че може да се направи с async задача. Има ли друг начин да го направите.

Отговори:

1 за отговор № 1

можете да използвате Handler да се post работещ в опашката на потребителския интерфейс или ако контекстът е активността, която можете да използвате runOnUiThread метод. Фрагментът в подлежащата на изпълнение програма ще бъде пуснат на UI Thread


0 за отговор № 2

поставете функцията за обратно повикване в функцията runOnUiThread:

runOnUiThread(new Runnable() {
@Override
public void run() {
// callback function

}
});