Android 如何在文本视图中显示特殊字符(如&;ndash;)?
如何在文本视图中显示特殊字符(如Android 如何在文本视图中显示特殊字符(如&;ndash;)?,android,textview,Android,Textview,如何在文本视图中显示特殊字符(如–“”)?您可以使用Html.fromHtml()将Html格式的文本处理为text视图可以显示的span启用的。如果您知道Unicode值,您可以显示任何UTF-8字符。例如“您将拥有和\#0034 有关更多信息,请参见(at)。我已经实现了此解决方案 活动类别: textView.setText( getString(R.string.author_quote, "To be or not to be", "Shakespeare") ) str
–“
”)?您可以使用Html.fromHtml()
将Html格式的文本处理为text视图
可以显示的span启用的。如果您知道Unicode值,您可以显示任何UTF-8字符。例如“您将拥有和\#0034代码>
有关更多信息,请参见(at)。我已经实现了此解决方案
活动类别:
textView.setText( getString(R.string.author_quote, "To be or not to be", "Shakespeare") )
strings.xml:
<string name="author_quote">« %1$s » - %2$s</string>
和#171;%1$s»;-%2元
HTML字符直接写在strings.xml中,不需要额外的HTML.fromHtml()。它在我的所有设备上都能正常工作。我已经编写了一个自定义方法,可以将所有unicode从十六进制转换为整数,并替换实际字符串。
因此,文本视图可以作为unicode进行读取。
看看,这会解决你的问题
公共字符串unecodeStr(字符串转义字符串){
这就是问题所在,我有这样的格式的字符。我需要它来显示。所以Html.fromHtml()帮助我做到这一点…!!你帮我保存了knossos!!+1它对我有效,你帮我保存了一天剩下的时间。你也可以使用这种格式:\u2122,这是商标符号。Html.fromHtml("”)
没有斜杠对我有效。
try {
String str;
int from = 0;
int index = escapedString.indexOf("\\u", 0);
while (index > -1) {
str = escapedString.substring(index, index + 6).replace("\\u", "");
try {
Integer iI = Integer.parseInt(str, 16);
char[] chaCha = Character.toChars(iI);
escapedString = escapedString.replaceFirst(str, String.valueOf(chaCha));
} catch (Exception e) {
CustomLog.e("error:", e.getMessage());
}
from = index + 3;
index = escapedString.indexOf("\\u", from);
}
escapedString = escapedString.replace("\\u", "");
} catch (Exception e) {
CustomLog.info("warnning", "emoji parsing error at " + escapedString);
}
return escapedString;
}