Android 让一个异步任务等待另一个任务完成?

Android 让一个异步任务等待另一个任务完成?,android,android-asynctask,Android,Android Asynctask,我有两个异步任务,每个任务在一个单独的类中,我可以在主线程中调用它们,只需使用: new RetrieveTask().execute(); new RetrieveTaskImageData().execute(); 但是我希望第一个在第二个开始之前完成 这是其中一个示例: class RetrieveTask extends AsyncTask<String, Void,Void> { private Exception exception; protected Void

我有两个异步任务,每个任务在一个单独的类中,我可以在主线程中调用它们,只需使用:

 new RetrieveTask().execute();
 new RetrieveTaskImageData().execute();
但是我希望第一个在第二个开始之前完成

这是其中一个示例:

class RetrieveTask extends AsyncTask<String, Void,Void> {
private Exception exception;
protected Void doInBackground(String... urls) {
    try {
        //Code here
    } catch (Exception e) {
        this.exception = e;

    } finally {
    }
    return null;
}
protected void onPostExecute() {
    //
}
}
类检索任务扩展了异步任务{
私人例外;
受保护的Void doInBackground(字符串…URL){
试一试{
//代码在这里
}捕获(例外e){
这个异常=e;
}最后{
}
返回null;
}
受保护的void onPostExecute(){
//
}
}
我们如何才能做到这一点

编辑

我们可以使用新的RetrieveTask().execute().getStatus()==…Finished


谢谢你

我的主线程中有4个异步任务,其中两个任务中有if语句,如果一个工作,另一个停止。我确实移除了回调,并为彼此执行内部任务,为我工作。(我正在使用kotlin,但我认为java也可以使用它)

这将自动实现,因为除非您调用,否则所有的
AsyncTask
s,所以它们中的两个不能同时运行。

您必须在第一个AsyncTask上使用Implement接口,在PostExecute上它将回调到主线程。您需要在覆盖回调方法上调用第二个AsyncTask。

谢谢,这是什么参考?@TiyebM谷歌文档,执行顺序: