Android Html.fromHtml(span)无法用于标记标签

时间:2018-12-07 11:08:23

标签: android html

  • 方法

    public Spanned fromHtml(String html) {
       Spanned result;
       if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
           result = Html.fromHtml(html, Html.FROM_HTML_MODE_LEGACY);
       } else {
           // This method is deprecated but need to use for old os devices
           return Html.fromHtml(html);
       }
       return result;
    }
    

输入

String description = "Normal text <mark style=\"font-weight:600;color:#000;\">highlight this text</mark> not working";

它在TextView上显示普通文本。

似乎Html.Java不包含标记标签。有什么解决方法吗?

请不要使用起始索引和结束索引来建议可扩展的字符串,因为字符串lengh是动态的。

1 个答案:

答案 0 :(得分:3)

  

有什么解决方法吗?

选项1:更改文本以在源头使用受支持的标记,以避免使用<mark>

选项2:创建自己的解析器,可以处理此标记,标识开始和结束位置,并使用Spannedthe way that Html does

创建SpannableStringBuilder

选项3:使用正则表达式尝试用某些受支持的标记替换<mark></mark>,然后用Html解析修改后的字符串

选项4:使用WebView渲染此标记

选项5:使用正则表达式尝试消除<mark></mark>标记,因此您可以只使用纯字符串