单击页面上的任何位置后,Android中的进度条无法显示

时间:2013-03-07 13:35:50

标签: android webview

我的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);

    }

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

3 个答案:

答案 0 :(得分:1)

首先,请查看此对话框指南:http://developer.android.com/guide/topics/ui/dialogs.html

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

dialog.setCancelable( false );

答案 1 :(得分:1)

如果您想阻止来自外部触摸的dismiss/close对话,那么您应该执行以下操作。

 ProgressDialog Dialog = new ProgressDialog(Activity.this);
 Dialog.setCancelable(false);

答案 2 :(得分:0)

您可能想要使用:

 dialog.setCanceledOnTouchOutside(false);

一旦点击进度对话框,就不会关闭进度对话框。