shouldOverrideUrlLoading が deprecatedに

投稿者: | 2017年4月8日

AndroidのWebViewで、ビュー内のリンクをクリックしたときにブラウザが立ち上がらないようにするため、WebViewClientを継承したクラスを作成して、下記のようにshouldOverrideUrlLoadingメソッドをオーバーライドしてみました。

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

するとこれがdeprecated(非推奨)になっていました。
調べてみたところパラメーターが変わっていたようで、次のように修正したところ、上手く動きました。

@Override
public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request){
    view.loadUrl(String.valueOf(request.getUrl()));
    return true;
}

第二引数が変わってますね。
これでWebView内のリンクをクリックしても、ブラウザが立ち上がることは無くなりました。