首页 > 解决方案 > 使用格式化文本在 TextView 中显示解码的 URL

问题描述

我有许多字符串可以包含使用 HTML 标记和 URL 链接格式化的文本。为了显示这些字符串,我使用Html.fromHtml()了 ,这种方法完美地显示了格式化的字符串,但是某些链接可能包含非英文字符,这些字符看起来很难看,这是编码的原因。我试图URLDecoder.decode()解码整个字符串,但它返回 aString并且此方法破坏了Html.fromHtml()返回的Spanned。有没有办法在一个文本中同时显示解码的链接和格式化的文本?

示例字符串:

<b>Hello</b> <i><u>stack</u></i> look https://zh.wikipedia.org/wiki/%E9%A3%9E%E9%B9%B01%E7%BE%8E%E5%88%86%E7%A1%AC%E5%B8%81

结果我需要

标签: javaandroidtextview

解决方案


首先,您需要找到charsetName如下所示的获取字符串和获取您的 HTML 字符串。

byte[] arrByteForCharSet = drugName.getBytes("charsetName"); 
//for example: ISO-8859-1
String outputStr = new String(arrByteForCharSet);

我希望它有所帮助。


推荐阅读