2012-09-10 33 views
1

我需要將文本推入WebView。但是在這個文本中有很多不同的HTML標籤,我想在之前解析它。WebView中的URLSpans?

Spanned html = Html.fromHtml(texts.get(i)); 

但我需要更改文本中的URL以在我的活動中調用一個函數。在TextView中我可以那樣做:

ClickableSpan[] items = spans.getSpans(0, spans.length(), ClickableSpan.class); 
for (ClickableSpan s : items) { 
    final String url = ((URLSpan)s).getURL(); 
    int spanStart = spans.getSpanStart(s); 
    int spanEnd = spans.getSpanEnd(s); 
    spans.removeSpan(s); 
    spans.setSpan(new URLSpan(url) { 
     @Override 
     public void onClick(View widget) { 
      //code for overriding onClick goes here    
     } 
    }, spanStart, spanEnd, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
} 

是否有可能使用Html.fromHTML(),並更改鏈接文本使用的WebView時,而不是TextView的打電話給我的功能?

回答

0

不是真的,因爲WebView瞭解HTML,而不是Spanned。歡迎您嘗試通過Html.toHtml()Spanned轉換回HTML格式,但是從HTML到Spanned到HTML的往返轉換可能會對任何複雜格式進行散列,因爲它們不是完整的HTML分析器或生成器。

我建議您查找並使用一些旨在解析並幫助您修復HTML的Java庫。