从Spannable获得第一个Span

时间:2013-10-01 10:52:27

标签: android html parsing

我正在尝试解析一些HTML代码并检索img标记的内容。我使用了以下内容 代码:

Spanned img = Html.fromHtml(sourceText);

当我开始调试并查看Spanned img对象的内容时,我可以看到mSpans包含一个ImageSpan,此ImageSpans源是正确的url。虽然我在检索源码时遇到了极大的困难。关于从Spanned对象检索ImageSpan的文档非常不清楚。我尝试过这种方法:

ImageSpan[] spans = img.getSpans(0, img.length(), ImageSpan.class);

但这只会返回一个空数组。

所以要明确:我想在Spanned对象中检索ImageSpan。

1 个答案:

答案 0 :(得分:6)

试试这个

public ImageSpan[] getImageSpans(Spanned original, Class<ImageSpan> sourceType) {
    SpannableStringBuilder result = new SpannableStringBuilder(original);
    ImageSpan[] spans = result.getSpans(0, result.length(), sourceType);

    return spans;
}

如何使用

ImageSpan[] spans  = getImageSpans(Html.fromHtml("sourceText"), ImageSpan.class);