嵌套的AsyncTask和onPostExecute

时间:2012-06-09 17:23:30

标签: android android-asynctask android-imageview textview

我在另一个AsyncTask(2)中使用AsyncTask(1)。 AsyncTask 1获取在线用户数据,计算响应中的条目数,并为每个条目在onPostExecute中显示用户名并运行新的AsyncTask(2)以从服务器获取图像并将其加载到{ {1}}。这一切都发生在ImageView。 这样可以完美地工作,获取并显示用户数据,并为每个条目逐个显示图像。

然而,通过数组的更改以及onPostExecute 1 TextViewAsyncTask的更新发生得如此之快,它基本上只显示数组中的最后一个用户名,另一个有人加载,但用人眼无法察觉:)

与此同时,onPostExecute 2仍然在线提取图片,并显示错误用户的个人资料图片。 我在这里遇到的问题显然是这两个需要同步。 所以我想我只是等待AsyncTask 2中使用AsyncTask方法的输出,但现在根本没有任何更新,没有get() ...这对我来说是意想不到的行为。

那么,问题是如何同步2 TextView s?

要澄清的代码,如果仍然需要

AsyncTask

1 个答案:

答案 0 :(得分:7)

目前尚不清楚为什么要使用多个名称的名称调用单setText的{​​{1}}。正如您所提到的,虽然您拥有所有名称的TextView,但您只能看到一个名称。您可能需要使用setText或类似的东西。

现在关于你的问题:可能你不需要两个ListView。您可以在一个AsyncTask中执行所有操作。代码如下所示:

AsyncTask