拥有多个AsyncTasks并运行多个AsyncTasks

时间:2014-01-15 02:21:09

标签: java android

我有一个Asynctask来填充ListView并取决于所选项目 我的下一步是根据所选项目从不同的URL下载图像 我是否必须制作另一个扩展Asynctask以获取图像的私有类 因为我有一个itemOnClickListener,如果我调用.execute()会导致多个Asynctask运行出现问题

1 个答案:

答案 0 :(得分:0)

AsyncTask的实例只能执行一次。如果您想多次执行相同的AsyncTask,则需要为每次执行创建一个新实例。一个常见的方法是:

new YourClassExtendingAsyncTask().execute();

您可能需要两个扩展AsyncTask的类 - 一个用于填充ListView,另一个用于在onItemClickListener中执行以加载图像。

关于运行多个AsyncTasks的问题 - 所有AsyncTasks共享一个ThreadPool。 Android为您管理此ThreadPool,因此您可以同时执行多个AsyncTasks而无需担心。

希望这有帮助!