2

我有一个显示一个列表视图的活动。在活动中,我有一个 AsyncTask(此处命名为 AsListView)从 Internet 获取值并在列表视图的每个项目中填写一些信息。工作正常。

现在我在 ActionBar 中创建了一个按钮来显示街景中的一张图像。为此,我实现了另一个 AsyncTask(此处命名为 AsImage)从 google 获取图像并显示在 DialogFragment 中,但必须等待所有 AsListView 线程的执行。它会花费很长时间,具体取决于列表中的项目数。

为了快速执行 AsImage,我取消了所有 AsListView 任务,但这对我不利(用户丢失信息)。理想的解决方案是将 AsListView 任务设置为在 AsImage 执行时等待。AsImage 完成后,我将 AsListView 任务设置为继续执行。但我知道这是不可能处理 AsynkTasks 执行的控制......

一些解决方案?

4

1 回答 1

0

您可以尝试AsyncTask使用 s 同步 s CountDownLatch

否则,如果你愿意,你可以使用Threads 代替AsyncTasks 并设置它们的优先级,但是 android 制作这个AsyncTask类是有原因的,所以我建议你使用它。

于 2013-09-30T17:07:19.517 回答