你可以做的是使用Html.fromHtml()
function。
它將爲您留下一個Spanned
- 類型的對象。您可以使用位置上的獨立跨度來處理標籤?
編輯標籤的示例。 情境:帶有html標籤的文本,使用html.fromhtml工作。但有時這些網址是相對的(使用「/file.html」而不是「http://domain.com/file.html」),因此無法使用。發送spannable到我的函數下面找到一個URL的所有跨度並添加域。你可以使用其他服用點爲ofcourse您的特定標籤:
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;
}
我不知道這是做的最有效方法,就是是我到spannables第一連接中的一個,但它至少表明一些技巧你可以用spannables做:D
這絕對看起來更像我所希望的。我將不得不一起玩,看看它是否能滿足我需要的一切。 – penguin359 2011-04-09 12:33:26
我已經添加了一個例子來展示你可以做的一些事情:) – Nanne 2011-04-09 12:40:18