如何使 ProgressDialog 可以通过后退按钮而不是通过屏幕点击取消?

Posted

技术标签:

【中文标题】如何使 ProgressDialog 可以通过后退按钮而不是通过屏幕点击取消?【英文标题】:How can I make a ProgressDialog be cancelable by the back button but not by a screen tap? 【发布时间】:2011-12-27 08:45:45 【问题描述】:

我想让ProgressDialog 可以通过后退按钮取消,但不能通过点击屏幕来取消。目前我使用setCancelable(true)

但是,在某些较新的设备中,点击屏幕也会取消ProgressDialog。我想在显示 ProgressDialog 时禁用屏幕点击操作。

【问题讨论】:

【参考方案1】:

使用setCanceledOnTouchOutside(false)。

【讨论】:

我明天一进去就会这样做并发布我的进度。谢谢! 谢谢!节省了我很多时间! AlertDialog Builder 的setCancellable(boolean) 方法具有误导性;它只处理从后退按钮取消的对话框。 cancelable by touch 属性也应该可以从构建器中获得!【参考方案2】:

试试这个对你有帮助:

ProgressDialog pd = ProgressDialog.show(main.this, "", "Loading. Please wait...", true);
pd.setCancelable(true);`

【讨论】:

以上是关于如何使 ProgressDialog 可以通过后退按钮而不是通过屏幕点击取消?的主要内容,如果未能解决你的问题,请参考以下文章

IOS - 如何使默认的后退按钮调用展开segue

iOS:隐藏后退按钮时如何使导航标题左对齐

js如何使浏览器的后退和前进功能失效(IE FF 谷歌)

如何使后退按钮从第二帧工作到第一帧

当客户端通过点击后退按钮进入页面时,如何使其加载新副本而不是缓存副本?

如何使工具栏后退按钮居中?