簡體   English   中英

Android:Android 4.4中的shouldOverrideUrlLoading方法之后未調用WebView onPageFinished

[英]Android : WebView onPageFinished not calling after shouldOverrideUrlLoading method in android 4.4

我正在使用WebView android 4.4進行URL重定向時,加載輪繼續加載,無法正確關閉。 我用谷歌搜索了很多,但沒有得到。 誰能解釋一下WebView android 4.4的流程。 這是我嘗試的代碼:

public class MyWebViewClient extends WebViewClient {

        @Override
        public void onPageStarted(WebView view, String url, Bitmap favicon) {
            super.onPageStarted(view, url, favicon);

            dialog = ProgressDialog.show(getActivity(), null, "Loading...");
            dialog.setCancelable(true);
        }

        @Override
        public boolean shouldOverrideUrlLoading(WebView view, String url) {
            view.loadUrl(url);
            return true;
        }

        @Override
        public void onPageFinished(WebView view, String url) {
            super.onPageFinished(view, url);
            dialog.dismiss();
        }
}

請求網址“ www.google.com”。 WebView設置很好。 OnpageFinished在shouldOverrideUrlLoading方法之后不調用。

我在處理進度對話框時犯了一個錯誤。

public class MyWebViewClient extends WebViewClient {

    @Override
    public void onPageStarted(WebView view, String url, Bitmap favicon) {
        super.onPageStarted(view, url, favicon);

        if(dialog == null){
              dialog = ProgressDialog.show(getActivity(), null, "Loading...");
              dialog.setCancelable(true);
        }
    }

    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }

    @Override
    public void onPageFinished(WebView view, String url) {
        super.onPageFinished(view, url);
        if(dialog.isShowing())
             dialog.dismiss();
    }
}

現在,它適用於所有api級別。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM