首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >取消进度对话框和异步任务

取消进度对话框和异步任务
EN

Stack Overflow用户
提问于 2014-04-15 14:16:12
回答 2查看 323关注 0票数 2

在异步任务运行时,我正在显示一个可取消的进度对话框。当我按下“后退”按钮时,我希望两个对话框都消失,但也希望取消正在运行的异步任务。问题是:异步任务不知道对话框实例,所以在异步任务取消后我不能取消对话框。

目前,它只是取消后,我按后退按钮两次。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-04-15 14:18:59

对话框有一个onDismissed 回调,使用它来终止异步任务。

票数 1
EN

Stack Overflow用户

发布于 2014-04-15 14:19:20

您可以在cancel上使用ProgressDialog回调:

代码语言:javascript
运行
复制
this.dialog = new ProgressDialog(context);
this.dialog.setMessage("Loading...");
this.dialog.setCancelable(true);
this.dialog.setOnCancelListener(new DialogInterface.OnCancelListener()
{
    @Override
    public void onCancel(DialogInterface dialog)
    {
        // cancel AsyncTask
        cancel(false);
    }
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23086387

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档