【问题标题】:Getting first Span from Spannable从 Spannable 获取第一个 Span
【发布时间】:2013-10-01 10:52:27
【问题描述】:

我正在尝试解析一些 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。

【问题讨论】:

  • 问题不清楚你想实现什么。
  • 我已经编辑了我的原始帖子。我希望现在很清楚。
  • 你能给我包含imagespan的sourcetext以便我检查。
  • @TimKranen 我对带有文本的图像使用相同的代码...但它不适用于 MArshmallow 及更高版本的 API..你能帮我解决一下吗

标签: android html parsing


【解决方案1】:

试试这个

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);

【讨论】:

  • @BirajZalavadia我对带有文本的图像使用相同的代码......但它不适用于 MArshmallow 及以上 API..你能帮我解决一下吗
猜你喜欢
  • 2021-12-06
  • 1970-01-01
  • 2012-04-17
  • 1970-01-01
  • 2016-01-17
  • 2012-12-02
  • 2013-02-14
  • 2015-01-18
相关资源
最近更新 更多