あなたができることは、Html.fromHtml()
関数を使用することです。
Spanned
-タイプのオブジェクトが残ります。タグを処理するために、場所に個別のスパンを使用する場合がありますか?
タグを編集する例。状況:html.fromhtmlを使用して機能するhtmlタグ付きのテキスト。ただし、URLが相対的である場合(「http://domain.com/file.html」の代わりに「/file.html」を使用)、使用できない場合があります。以下の関数にspannableを送信すると、URLのすべてのスパンが検索され、ドメインが追加されます。もちろん、特定のタグに他の何かを使用することもできます。
protected Spanned correctLinkPaths (Spanned spantext) {
Object[] spans = spantext.getSpans(0, spantext.length(), Object.class);
for (Object span : spans) {
int start = spantext.getSpanStart(span);
int end = spantext.getSpanEnd(span);
int flags = spantext.getSpanFlags(span);
if (span instanceof URLSpan) {
URLSpan urlSpan = (URLSpan) span;
if (!urlSpan.getURL().startsWith("http")) {
if (urlSpan.getURL().startsWith("/")) {
urlSpan = new URLSpan("http://www.domain.com" + urlSpan.getURL());
} else {
urlSpan = new URLSpan("http://www.domain.com/" + urlSpan.getURL());
}
}
((Spannable) spantext).removeSpan(span);
((Spannable) spantext).setSpan(urlSpan, start, end, flags);
}
}
return spantext;
}
これが最も効率的な方法かどうかはわかりませんが、これはスパナブルへの最初の接続の1つでしたが、少なくとも、スパナブルで実行できるいくつかのトリックを示しています:D