web-dev-qa-db-ja.com

Android Webview shouldOverrideUrlLoading method

shouldOverrideUrlLoadingメソッドはいつ呼び出されますか?

_webView.setWebViewClient(new WebViewClient(){
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {


    }
});
_
  1. URLの初期読み込み中に呼び出されますか?例えばwebView.loadUrl( "file:///Android_asset/html/index.html");
  2. WebViewのURLが変更されるたびに呼び出されますか?

参照がありますか?見つかりませんでした。ありがとう

15
JR Galia
  1. ただし、WebViewがユーザーが要求したものとは異なるURLをロードするときに呼び出されます。

  2. loadUrl()を呼び出すと、shouldOverrideUrlLoading()メソッドもトリガーされます。 (新しいURLがロードされようとしているときのみ。)

新しいURLが現在のWebViewにロードされようとしているときに、ホストアプリケーションにコントロールを引き継ぐ機会を与えます。WebViewClientが提供されていない場合、デフォルトで、WebViewはURLに適切なハンドラを選択するようにアクティビティマネージャに要求します。 WebViewClientが提供されている場合、trueを返すとホストアプリケーションがURLを処理し、falseを返すと現在のWebViewがURLを処理します。

Ref: public boolean shouldOverrideUrlLoading(WebView view、String url)

10
Pankaj Kumar

以下は、両方の質問に対する答えです。

document のとおり、新しいURLが現在のWebViewに読み込まれるたびに管理されます。

1
Paresh Mayani