从一个类中的多个AsyncTask获取数据?

时间:2016-02-29 22:29:03

标签: android android-asynctask

我的情况是这样的: 首先我先调用AsyncTask从数据库中获取所需的项目。之后,我调用另一个AsyncTask,它获取这些Item图像。

我使用回调从AsynTasks获取数据。

这是问题 - 因为我正在使用回调,所以在我的类中我有方法processFinish,它在完成计算时返回AsyncTask数据。问题在于两个异步任务相互依赖。我现在该怎么办?

2 个答案:

答案 0 :(得分:0)

您可以使用asyncTask的get()方法,它将等待输出并且不会继续进行 你也可以暂停使用它。

ex new BackgroundTask().execute.get();

new BackgroundTask.execute.get(long timeout);

答案 1 :(得分:0)

你可以在另一个中执行一个AsyncTask,但是你应该在onPostExecute()中执行它,因为这个方法在UI线程上运行。

    @Override
    protected void onPostExecute(Void args) {
        new AsyncTask2.execute(..); // Start second task once you've got first results
    }

在第二个AsyncTask完成后,您只需调用一次方法processFinish(..)

无论如何,你有没有理由使用两个AsyncTasks?通过您的解释,我们可以相信您可能只能使用一项任务。