読者です 読者をやめる 読者になる 読者になる

布団の中にいたい

最近Androidのアプリ開発の勉強をし始めた人.普段は会社でずっと資料を作ってる人

WebViewでlinkタップ時にブラウザに飛ばないようにする

WebViewでlinkやボタンをタップすると,何もしていない場合だとWebViewからデフォルトのブラウザに飛ばされます.今回はWebViewからブラウザに飛ばすのではなく,WebView内で完結させたかったので,そのやり方を調べました.

やり方は簡単で以下でできるようです.

webView.setWebViewClient(object : WebViewClient() {
    override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean {
        return false
    }
})

WebViewClient | Android Developers

shouldOverrideUrlLoadingはWebViewで新しいurlに対してloadingが走ったときに呼ばれるメソッドです.ブラウザに飛ばないようにするためにはWebViewに設定するWebViewClientでshouldOverrideUrlLoadingでfalseを返してあげればいいです.