【问题标题】:How to set unicode in textview to show emoji in android?如何在 textview 中设置 unicode 以在 android 中显示表情符号?
【发布时间】:2014-09-28 00:12:18
【问题描述】:

我正在从服务器获取一些 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")

然后文本视图显示完美的表情符号。

我被困在这一点上。谁能帮我解决这个问题或告诉我我是否做错了什么。

【问题讨论】:

  • 试试这个新字符串("your text","UTF-8");

标签: android textview emoji


【解决方案1】:

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

【讨论】:

  • 我也使用这个,但是当我再次从服务器 enojis 获得响应时,变成了 ? 符号。
  • @Hasmukhkachhatiya 这意味着您的系统没有正确的符号字形(即代码点未知)read the description
【解决方案2】:

这对我有用(Kotlin 版本):

textView.text = String(Character.toChars(0x1F389))

【讨论】:

    猜你喜欢
    • 2012-04-02
    • 1970-01-01
    • 2018-02-12
    • 2016-08-25
    • 1970-01-01
    • 2021-10-24
    • 2016-12-01
    • 1970-01-01
    • 2014-08-26
    相关资源
    最近更新 更多