如何在textview中设置unicode以在android中显示表情符号?

时间:2014-08-05 10:51:22

标签: android textview emoji

我以json字符串格式从服务器获取一些Unicode字符串(表情符号图标)。

我的问题很奇怪,我在最近两天试图解决这个问题。当我解析json并将所有Unicode字符串存储在ArrayList<String>中并尝试通过从同一ArrayList获取值来设置TextView上的文本时,它会将Unicode字符显示为:

Ghcghchgc \ud83d\ude03\ud83d\ude03fyju\ud83d\ude0c6\u20e3

当我在textview上设置相同的字符串时,通过传递静态值: textview.settext("Ghcghchgc\ud83d\ude03\ud83d\ude03fyju\ud83d\ude0c6\u20e3")

然后textview显示完美的表情符号。

我在这一点上陷入困​​境。任何人都可以帮我解决这个问题,或者告诉我,如果我做错了什么。

2 个答案:

答案 0 :(得分:6)

这听起来像是你想从JSON得到unescape your string。如果您不介意添加库,Apache Commons has a String.unescapeJava功能可以满足您的需求。如果您不想添加该库,请参阅this answer

答案 1 :(得分:0)

这对我有用(Kotlin版): textView.text = String(Character.toChars(0x1F389))