0

我有活动使用AsyncTask 打开光标,而不是生成子 AsyncTask 以呈现使用光标读取的项目。

活动在光标 AsyncTask上执行,但看不到项目的子 AsyncTask

如何取消指定 Activity 的所有正在运行的 AsyncTask 任务(包括嵌套)?

如何取消指定 AsyncTask 的所有正在运行的子 AsyncTask 任务(如果可能的话)?

我想停止从界面到不损坏视图的新命令上的所有任务。

4

2 回答 2

1

您执行的 AsyncTask 没有管理器。

您必须跟踪您创建的 AsyncTasks 的所有新实例,并使用cancel(boolean mayInterruptIfRunning)方法关闭它们。请注意,取消任务不会在中间停止它。你必须检查你的doInBackground-isCanceled()

于 2013-02-10T20:41:16.290 回答
0

如果您的 AsyncTask 正在运行循环,那么您可以检查一个公共标志(可能是某个单例的属性,例如 Application 类本身或您的活动)。一旦这个标志变为真,那么你的任务将退出循环

于 2013-02-10T20:41:23.880 回答