【Android】ダイアログのメッセージにHTMLを使う方法(Java&Kotlin対応)

Sara

ここでは Dialog(ダイアログ)のメッセージに HTML を使う方法を紹介します。

以下のようにメッセージ部分を HTML で書いて「こちら」の部分をクリックできるようにしていきます。

ダイアログの基本的な使い方は以下の記事をお読み下さい。
>> Java 編
>> Kotlin 編

開発環境

Android StudioHedgehog | 2023.1.1
Android EmulatorPixel 3a (API 34)
minSdk21
targetSdk34

ファイル名について

このサンプルでは MyDialogFragment.java / MyDialogFragment.kt にコードを書いていきます。作成方法は以下の記事をお読みください。
>> Java 編
>> Kotlin 編

解説

Java の場合

以下のようにコードを書きます。

6~8行目
String html = "<p style=\"color:blue;\">テキストを入力します。</p>" +
                "<p><ul><li>A</li><li>B</li><li>C</li></ul></p>" +
                "<p>Google検索は<a href=\"http://google.com\">こちら</a></p>";

表示するメッセージを HTML で用意しています。

12行目
.setMessage(Html.fromHtml(html))

HTML で用意したメッセージを fromHtml メソッドを使ってセットします。

18~24行目

TextView 内のリンクをタップできるようにするには setMovementMethod を使います。

onCreateDialog メソッドではまだフラグメントが作成されていないので、フラグメントが表示される直前の onStart メソッドで TextView を取得しています。

リンクを含んでいない場合は、このコードは省略できます。

Kotlin の場合

以下のようにコードを書きます。

4~6行目
val html = "<p style=\"color:blue;\">テキストを入力します。</p>" +
                "<p><ul><li>A</li><li>B</li><li>C</li></ul></p>" +
                "<p>Google検索は<a href=\"http://google.com\">こちら</a></p>"

表示するメッセージを HTML で用意しています。

11行目
.setMessage(HtmlCompat.fromHtml(html, HtmlCompat.FROM_HTML_MODE_LEGACY))

HTML で用意したメッセージを fromHtml メソッドを使ってセットします。

18~21行目

TextView 内のリンクをタップできるようにするには movementMethod を使います。

onCreateDialog メソッドではまだフラグメントが作成されていないので、フラグメントが表示される直前の onStart メソッドで TextView を取得しています。

リンクを含んでいない場合は、このコードは省略できます。

完成

以上で完成です。

「こちら」という文字をタップすると指定した URL がブラウザで表示されます。

その他のダイアログの使い方は以下の記事をお読みください。

あわせて読みたい
【Android】ダイアログの使い方まとめ(Java & Kotlin対応)
【Android】ダイアログの使い方まとめ(Java & Kotlin対応)
Subscribe
Notify of
0 Comments
古い順
新しい順 人気順
Inline Feedbacks
View all comments
ABOUT ME
Sara
Sara
運営者
書籍やオンライン講座でプログラミングを勉強してフリーランスのプログラマーになりました。
このサイトでは「わかりやすく・シンプル」をモットーに、プログラミングの基礎からアプリ開発まで紹介します。
独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています。
主な使用言語:Java / Kotlin / PHP
>> 詳しいプロフィール
>> お問い合わせ
>> 書籍を出版しました!
本格的に学びたい方へ

Code for Fun プログラミング講座

POINT 01

動くコード

プログラミングの文法を学んでも、そこからどのようにアプリ開発ができるのかイメージが湧きにくいものです。

Code for Fun のプログラミング講座では、ゲームやカレンダーなどアプリとして機能するものを作りながらプログラミングを学ぶことができます。

POINT 02

自分のペースで

オンライン講座なので、ご自身のペースで学習を進めて頂けます。

受講期限もないので、いつでも前のレッスンに戻ることができるので安心です。

お申し込みしたその日からすぐに始めることができます。

POINT 03

個別サポート

プログラミング学習では、エラーが起きることはよくあります。そんな時はお気軽にお問い合わせください!

コメント欄またはメールによるサポートを回数無制限でご利用頂けます。(*講座に関連するご質問のみ対応)

今すぐ無料でお試し

0
この記事にコメントするx
記事URLをコピーしました