【问题标题】:Convert Html and Set text to Textview转换 Html 并将文本设置为 Textview
【发布时间】:2011-12-31 01:58:58
【问题描述】:

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

这是我的字符串,“你好,%1$s!你有 %2$d 条新消息

我正在使用 textview.setText(Html.fromHtml(myString)); 生成带有 Html 标签而不是纯文本的输出。谁能帮我解决这个问题?

非常感谢任何帮助。 谢谢

【问题讨论】:

    标签: android html


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      有点晚了,但是像这样扩展 TextView 并覆盖 SetText:

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

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

          这可能对你有帮助:

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

          【讨论】:

            【解决方案5】:

            请参阅此question

            尝试:

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2013-10-27
              • 2015-02-21
              • 2019-08-10
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多