Using Linkify.addLinks combine with Html.fromHtml

后端 未结 3 2193
暖寄归人
暖寄归人 2021-02-14 19:16

I have a TextView that gets it\'s data set by calling this:

tv.setText(Html.fromHtml(myText));

The string myText cont

3条回答
  •  情书的邮戳
    2021-02-14 19:53

    It's because Html.fromHtml and Linkify.addLinks removes previous spans before processing the text.

    Use this code to get it work:

    public static Spannable linkifyHtml(String html, int linkifyMask) {
        Spanned text = Html.fromHtml(html);
        URLSpan[] currentSpans = text.getSpans(0, text.length(), URLSpan.class);
    
        SpannableString buffer = new SpannableString(text);
        Linkify.addLinks(buffer, linkifyMask);
    
        for (URLSpan span : currentSpans) {
            int end = text.getSpanEnd(span);
            int start = text.getSpanStart(span);
            buffer.setSpan(span, start, end, 0);
        }
        return buffer;
    }
    

提交回复
热议问题