8

電話番号だけでなくハイパーリンクを処理するためのテキストビューを取得しようとしています。私のテキストは次のとおりです。

"555-555-555, www.google.com, <a href="www.google.com">Google!</a>"

この文字列に対してHtml.fromHtml()を実行すると、TextViewにGoogleが表示されます。クリック可能なリンクとして正しく表示されますが、他の2つは表示されません。

TextViewでLinkify.addLinks(TextView、Linkify.All)を実行すると、最初の2つは電話番号とURLとして正しく認識されますが、最後の1つではhtmlが処理されません。

両方を実行すると、どちらか一方が優先されますが、両方を同時に実行することはできません。(Html.fromHtmlはそこでhtmlタグを削除しますが、linkifyが後で呼び出された場合はリンクにはなりません)

これらの機能の両方を同時に機能させる方法についてのアイデアはありますか?それで、すべてのリンクは正しく処理されますか?ありがとう!

編集:また、テキストは動的に変更されるため、そのためのLinkifyパターンを設定する方法がわかりません。

4

3 に答える 3

1

Linkify を使用する代わりに、テキストビューで移動方法を設定してみてください:

textView.setMovementMethod(LinkMovementMethod.getInstance());
于 2012-10-30T23:13:25.603 に答える
0

TextViewのxmlレイアウトで、以下を追加する必要があります。

android:autoLink="all"
android:linksClickable="true"

次に、JavaでLinkifyコードを削除する必要があります。

どういうわけか動作しますが、理由はわかりません。誰かが動作を説明できるかどうかを確認するための質問を追加しました:Linkify.addLinksを使用してHtml.fromHtmlと組み合わせる

于 2013-01-26T15:01:15.983 に答える