带有HTML内容的TextView - 隐藏图像/空方块

时间:2014-01-27 08:49:21

标签: android textview

我有html内容并将其设置为(android)文本框,如下所示

textbox.setText(Html.fromHtml(myhtml));

HTML内容也包含一些img标签,我不想显示图像,目前它显示空方框,其中有一个img标签。我该如何隐藏这些方框?

2 个答案:

答案 0 :(得分:3)

您可以在<img.+?>

上执行正则表达式替换htmlString.
textView.setText(Html.fromHtml(htmlString.replaceAll("<img.+?>", "")));

未测试

<强>更新

因为图像看起来像:

<img ...></img>

<img... />

此解决方案将匹配两种情况:

String htmlBody = htmlString.replaceAll("<img.+/(img)*>", "");
textView.setText(Html.fromHtml(htmlBody));

答案 1 :(得分:2)

这有效

创建Html.ImageGetter以返回空图像,如下所示

import android.graphics.Color;
import android.graphics.drawable.ColorDrawable;
import android.graphics.drawable.Drawable;
import android.text.Html;

public class EmptyImageGetter implements Html.ImageGetter {
    private static final Drawable TRANSPARENT_DRAWABLE = new ColorDrawable(Color.TRANSPARENT);

    @Override
    public Drawable getDrawable(String source) {
        return TRANSPARENT_DRAWABLE;
    }
}

然后创建一个静态实例

private static final EmptyImageGetter EMPTY_IMAGE_GETTER = new EmptyImageGetter();

将其设置为文本视图

textView.setText(Html.fromHtml(myhtml, EMPTY_IMAGE_GETTER, null));