将Html和Set文本转换为Textview

时间:2011-11-17 06:52:03

标签: android html

我正在尝试转换html字符串并将其设置为TextView,但我无法完全做到。

这是我的字符串,“你好,%1 $ s!你有< b>%2 $ d新邮件< / b>”

我正在使用 textview.setText(Html.fromHtml(myString)); ,这会产生一个带有Html标签而不是纯文本的输出。任何人都可以帮我这个吗?

非常感谢任何帮助。 感谢

5 个答案:

答案 0 :(得分:13)

请参阅此question

尝试:

textView.setText(Html.fromHtml(myString), TextView.BufferType.SPANNABLE);

答案 1 :(得分:6)

这可能对您有所帮助:

Spanned marked_up = Html.fromHtml(myString);
textview.setText(marked_up.toString(),BufferType.SPANNABLE);

答案 2 :(得分:2)

尝试使用this版本的setText并使用SPANNABLE缓冲区类型

答案 3 :(得分:0)

有点晚但延伸TextView并覆盖SetText,如下所示:

public override void SetText(ICharSequence text, BufferType type)
{
    base.SetText(Html.FromHtml(text.ToString()), BufferType.Spannable);
}

然后你可以使用你的TextView而不是你的axml中的常规TextView。

答案 4 :(得分:0)

甚至以后... Html.fromHtml现在已弃用:

textView.setText(
    Html.fromHtml(model.getValue(), Html.FROM_HTML_MODE_COMPACT), 
    TextView.BufferType.SPANNABLE);

Html.FROM_HTML_MODE_COMPACT对我来说效果很好,请探索其他标志以了解不同的HTML解析行为。