在onPostExecute()中运行另一个AsyncTask

13

如果我需要在另一个异步任务中运行另一个异步任务,也就是在onPostExecute()方法中,该怎么做?


5
为什么您认为在onPostExecute()中启动AsyncTask不可能? - Ahmad
1
谁阻止你这样做了呢? - Pragnani
2个回答

23

作为建议,在第一个AsyncTask中尽可能多地卸载需要时间的呼叫。但是,如果您的应用程序设计是这样的,只有在完成第一个任务后才需要执行另一个任务,则仅以与第一个任务相同的方式执行第二个AsyncTask.

@Override
protected void onPostExecute(String result) {
     new MySecondAsyncTask().execute(params);   //params if any
}

2
您可以尝试以下代码,在onPostExecute中创建一个NewAsyncTask,然后执行新任务。
@Override
protected void onPostExecute(String result) {
    NewAsyncTask newtask = new NewAsyncTask();
    newtask.execute();    
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接