2013-12-09 20 views
0

我正在使用Runnable在我的android應用程序中執行一些後臺任務。完成後臺任務後可運行的程序將調用由實現了可運行函數的函數的調用者實現的回調函數。現在我想在回調被調用後將執行切換到主線程。切換執行到主線程在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在主線程上運行,而不是在DoInBackground函數中創建的新runnable。 我知道這可以通過異步任務來完成。有沒有其他辦法可以做到這一點。

回答

1

您可以使用Handlerpost在UI線程隊列中可運行,或者如果上下文是活動的,您可以使用runOnUiThread方法。可運行內部的代碼片段將在UI線程中運行

0

把你的回調函數runOnUiThread函數內部:

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

      } 
     });