最新の記事アプリケーションアクティビティ、インテント、サービスについてデバイスAndroidでのデバイス制御について。地磁気センサ、加速度センサなどマルチメディアグラフィックス、音楽や動画再生などマルチメディア処理についてユーザインターフェースAndroidのユーザインターフェイスについて、またユーザインターフェイスを提供するコンポーネントの話題について。リソースAndroidでのアイコン、画像、文字列、ローカライゼーションなどHacksマッシュアップ開発環境Androidの開発環境など。TextViewにリンクを貼る方法について解説しました。上記記事では、TextViewにセットした文字列がURLだった場合にはURLに、メールアドレスだった場合にはメールアドレスに、それぞれ自動的にリンクへ変換する方法について解説しました。今回は下図のように、文章中(TextView中)に出てくる特定の文字列に対してリンクを貼る方法について解説します。ポイントはLinkifyクラスのaddLinksメソッドの使い方です。それでは続きをどうぞURL、Emailアドレスをリンクにする例えば以下のように、文中にURLとEmailアドレスが混在するケースを想定します。「sample@gmail.com」の2カ所のみ、それぞれリンクに変換したいものです。LinkifyクラスのaddLinksメソッドを利用して、以下のような方法で実現できます。Linkify.ALLは、指定したTextView中に登場するURLやEmailアドレスはすべてリンクにします。その他にも、以下の表に示すフラグをそれぞれ第2引数に指定することで、URLのみ、またEmailアドレスのみ抽出してリンクにすることが可能です。/]TextView中の特定の文字列をリンクにする例えばブログなどでAndroidについて解説しているような場合に、「Android」という文字列はすべてリンクにして、公式サイトに飛べるようにするようなケースがあると思います。LinkifyクラスのaddLinksメソッドを用いることで、それと同じことをTexiViewで実現できます。下図では「Techbooster」の文字列をリンクにしています。ソースコードを見てみます。text.setText(&quot;TechboosterではAndroidを中心に技術解説しています。Techboosterはほぼ毎日更新しています。filter);3行目で、リンクにしたい文字列を指定します。4行目で、リンクを押された場合に実行したいURLを定義しています。Linkify.TransformFilterクラスのインスタンスを生成しています。12行目でLinkifyクラスのaddLinksメソッドを用いて、TextViewにリンクを作成しています。各引数は以下の通りです。/]第5引数のLinkify.TransformFilterクラスのインスタンスを指定することで、「Techbooster」と一致する文字列が見つかった際に、transformUrlメソッドの戻り値に指定した値に置き換えます。text.setText(&quot;TechboosterではAndroidを中心に技術解説しています。Techboosterはほぼ毎日更新しています。url);「Techbooster」をクリックすると、URLが「http://www.techbooster.org/Techbooster」となり、期待した結果となりません。addLinksメソッドに対してLinkify.TransformFilterクラスのインスタンスを指定してやることで、「Techbooster」が「http://www.techbooster.org/」に置き換えられ、本サイト「Techbooster」がブラウザで開く結果となります。2.0(β)に対応した解説書です。TechBooster.TechBoosterについて。