假设我们有两个HTTP异步调用,任务1和任务2。我想同时执行它们。两者都完成后,我想触发一个函数。
由于我们不知道先完成哪个任务,我们如何知道任务已完成并触发功能?
步骤1:创建接口TaskComplete,
public interface TaskComplete {
public void TaskDone(String asyncClassName);
}
步骤2:在要调用异步任务的类中创建它的对象。
TaskComplete taskComplete = new TaskComplete() {
boolean firstDone = false;
boolean secondDone = false;
@Override
public void TaskDone(String asyncClassName) {
// TODO Auto-generated method stub
if(asyncClassName.equals("FIRST_ASYNC")) {
firstDone = true;
} else if(asyncClassName.equals("SECOND_ASYNC")) {
secondDone = true;
}
if(firstDone == true && secondDone == true) {
// Both async completed - do your work
}
}
};
步骤3:从异步类的相应onPostExecute方法调用它们。
taskComplete.TaskDone("FIRST_ASYNC");
taskComplete.TaskDone("SECOND_ASYNC");
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句