您可以將處理程序傳遞給您的任務的構造函數,並在任務完成時調用它。
看起來是這樣的:
public class SomeTask extends AsyncTask<Object, Object, Object>{
private OnPostExecuteHandler handler;
public SomeTask(OnPostExecuteHandler handler) {
this.handler = handler;
}
@Override protected Object doInBackground(Object... params) {
return null;
}
@Override protected void onPostExecute(Object o) {
handler.runOnFinish();
}
public interface OnPostExecuteHandler{
void runOnFinish();
}
}
與用法:
new SomeTask(new SomeTask.OnPostExecuteHandler() {
@Override public void runOnFinish() {
//will be called when the task is finished
}
}).execute(someParams);
變化'protected'到'公共'?我不確定那會實現什麼。 – immibis
您可以引入一些變量來檢查任務是否已完成.....如果(isfinished){//執行som ecode} – RajSharma
@immibis:AsyncTask是內置類 – Horatio