我一直在使用Html.fromHtml()中的ImageGetter()接口从长html字符串中检索图像网址。但由于我只需要一个图像,所以我不想通过整个字符串来查找图像。当我找到第一张图片时,我只想停下来。
有什么建议吗?
Html.fromHtml(html, new ImageGetter() {
@Override
public Drawable getDrawable(String source) {
item.setImageUrl(source);
return null;
}
}, null);
编辑:目前我只检索html字符串中的最后一张图片,因此ImageGetter只会检索该图片。
private String getLastImage(String htmlContent){
String img = "";
try{
img = htmlContent.substring(htmlContent.lastIndexOf("<img"));
}catch (Exception e) {
e.printStackTrace();
}
return img;
}
答案 0 :(得分:0)
在ImageGetter
中有一个布尔字段。在getDrawable()
中,仅当布尔值为false
时才获取图像,然后将其设置为true
;否则返回null。
要完全避免解析HTML的其余部分,您无法使用Html.fromHtml()
。相反,您可以尝试使用XMLPullParser
。只需继续提取标记,直到获得<img>
标记,此时获取其<src>
属性的值。
但您可能必须正确处理非严格XHTML的输入。