保持进度对话框在顶部

时间:2012-11-26 22:03:24

标签: android progressdialog

我有一个带有进度对话框的应用程序(由pd = new ProgressDialog(ActivityName.this); ... pd.show();创建)一切正常但是如果我点击/点击对话框,它会被关闭,活动内容会到达视图的前面(进程)由对话框处理按预期运行 - 如果我更改屏幕方向,则会再次出现对话框。

有没有办法让对话框保持在最顶层(即禁用对话框外的点按)?

注意:在模拟器中,在真实手机(SGII,A4.0.4)上按预期禁用了点击,点击进度对话框的周围环境会关闭对话框...

代码:

mProgressDialog = new ProgressDialog(DownloaderActivity.this); 
mProgressDialog.setMessage(DownloaderActivity.this.getString(R.string.downloadin‌​gfile));      
mProgressDialog.setIndeterminate(false); 
mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);   
mProgressDialog.show(); … mProgressDialog.dismiss();

1 个答案:

答案 0 :(得分:8)

将setCanceledOnTouchOutside()方法设置为false。 Take a look at the android API

如果你已经这样做了它仍然无法正常工作,那可能是android系统的一个bug。解决此问题的一种方法是使用onCancelListener,以便在取消对话框时,侦听器中的代码会检查进度是否已完成。如果没有,它可以重新启动Dialog。