WebViewに対して、さらっと書き捨てのHTML等を直接記述出来ます。
val webView = findViewById<WebView>(R.id.web_view) webView.loadData("<a href=\"https://www.google.com\">グーグル検索</a>", "text/html", "utf-8")
何が便利か?
クッションページが必要だけど、敢えてHTMLファイルとして作成するほどでもないケース。
私の場合、RecyclerViewの各ItemにWebViewを配置したのですが、WebViewがアクセスするURLにPDFファイルも含まれていた為、PDFへのURLの場合、クッションページを用いました。 例えば、以下のように記述すると書き捨てのaタグのクリックイベントが奪えるので、PDFファイルへのリンクを他のインテントに飛ばしたり出来ます。
if( url == PDFリンク ){ webView.loadData("<a href=\"" + url + "\">PDFファイルを確認</a>", "text/html", "utf-8") webView.webViewClient = object : WebViewClient(){ override fun shouldOverrideUrlLoading(view: WebView?, request: WebResourceRequest?): Boolean { return false } } }else{ webView.loadUrl( url ) }
リンク
リンク