您可以将处理程序传递给您的任务的构造函数,并在任务完成时调用它。
看起来是这样的:
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