0

我的 android 应用程序中有一个 webview 和一个按钮。我正在显示 ProgressDialog 并禁用 onPageStarted 函数上的按钮单击,例如:

public void onPageStarted(WebView view, String url, Bitmap favicon)
{


                    super.onPageStarted(view, url, favicon);
                    Dialog.show();
                    button1.setClickable(false);

}

并禁用 onPageFinished 上的进度条并启用按钮

  public void  onPageFinished(WebView view, String url)
    {
                        if(Dialog.isShowing())
                                        {
                                                    Dialog.dismiss();
                                        }

                        button1.setClickable(true);

    }

但我的问题是当我点击按钮时。即使它不可点击或点击页面上的任何地方,进度条也会被隐藏,它在显示功能上正确显示,并且在网页加载到 webview 之后。按钮变为可点击.如何显示继续进度条,直到加载url后调用onPageFinished

4

3 回答 3

1

首先,你检查这个对话框指南:http: //developer.android.com/guide/topics/ui/dialogs.html

其次,那是因为您的对话框不是模态的。如果您想避免您的用户取消单击对话框之外的对话框或单击后退按钮,您必须执行以下操作:

对话框.setCancelable(假);

于 2013-03-07T13:46:33.787 回答
1

如果您想防止对话框从dismiss/close外部触摸,那么您应该执行以下操作..

 ProgressDialog Dialog = new ProgressDialog(Activity.this);
 Dialog.setCancelable(false);
于 2013-03-07T13:50:45.717 回答
0

您可能想使用:

 dialog.setCanceledOnTouchOutside(false);

一旦在它之外单击,它就不会关闭进度对话框。

于 2013-03-07T13:53:38.567 回答