java - Android Webview 加载对话框未被关闭

标签 java android webview progressdialog

我正在使用下面的代码

class CustomWebViewClient extends WebViewClient {
    Context context;
    ProgressDialog pd = null;


    public CustomWebViewClient (Context c){
        context = c;
    }

    public void onPageFinished(WebView view, String url){
        pd.dismiss();
    }



    public boolean shouldOverrideUrlLoading(final WebView view, final String url) {
        pd = ProgressDialog.show(context, "", "pageload. Please wait...", true);


        view.loadUrl(url);  

        return true;
    } 

}

当我单击 WebView 中的链接时,对话框出现并且页面开始加载,但是当页面加载完成时,对话框仍在屏幕上。显然代码很简单,但我想不通。另外,我想我应该补充一点,被点击的链接有一些重定向,但我不确定这是否与这里的原因有关。

我怎样才能正确地做到这一点?

最佳答案

Steven & Sander,尝试关闭 Handler 中的进度对话框

像这样:

  class pdHandler extends Handler {
    @Override
    public void handleMessage(Message msg) {
      if(pd != null)
      {
      pd.dismiss();
      pd = null;
      }
    }

然后在 onPageFinished 中调用您的处理程序:

 public void onPageFinshed(WebView view, String url){
        pdHandler.sendEmptyMessage(0);
    }

你已经完成了!

关于java - Android Webview 加载对话框未被关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3205056/

相关文章:

java - getConnection() 中抛出空指针异常

java - 耶拿中的 OWL ObjectProperty 定义,未输出域和范围

android - ORMLite 不知道如何存储类

android - 启动 Android 原生锁屏

WebView 中的 Android +1 按钮

java - 在 Java 中用前导零填充等于零的二进制字符串 ("0")

java - 为什么这个 JSON Parsing 越来越高效了?

java - android api 参数编号更改。如何支持?

c# - 如何让wpf webview像浏览器一样滚动?

javascript - 如何在 android 中使用 webview 明智地显示 Html 内容页面?