gpt4 book ai didi

java - 我一次运行多个异步任务,我只想关闭这三个任务中的一个

转载 作者:行者123 更新时间:2023-11-29 22:12:46 24 4
gpt4 key购买 nike

我在其中一项 Activity 中运行了一个 asynctasks 类 3 次,我想知道如何单独取消其中一个。每个人都从服务器下载一个文件,该文件始终是不同的文件,我想知道如何只取消我选择的三个文件中的一个?

最佳答案

保留对它们中每一个的引用,然后在其中提供一个方法来取消它们。在您要取消的对象上调用该方法。

private class MyAsyncTask extends AsyncTask<Void, Void, Void> {
boolean cancelled = false;
public void cancel() {
cancelled = true;
}

public void doInBackground() {
while(!cancelled) {
...
}
...
}

...

MyAsyncTask task1 = new MyAsyncTask().execute();
MyAsyncTask task2 = new MyAsyncTask().execute();
MyAsyncTask task3 = new MyAsyncTask().execute();

...

if(needToCancelTask2) {
task2.cancel();
}

关于java - 我一次运行多个异步任务,我只想关闭这三个任务中的一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9243942/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com