我有一个简单的记忆游戏作为项目。对于Memory Tiles,我想使用Emojis。我试着这样用:
emojiCard.setText(new String(Character.toChars(Integer.parseInt(1F60D, 16))));
现在我只需将 1F60D 保存到变量中即可显示表情符号。
适用于简单的表情符号,但我不能使用“新”,因为那时我必须使用代理对,我不知道如何做到这一点。
有更好的方法吗?比如保存unicode? p> 抱歉,我对Android开发真的很新,并尝试过很多东西。 感谢。
答案 0 :(得分:1)
Integer.parseInt()
需要String
作为输入,因此您可能想要说Integer.parseInt("1F60D", 16)
。如果只是简单地将数字0x1F60D
字面传递给Character.toChars()
,那么会浪费很多。
Java字符串使用UTF-16编码。当编码为UTF-16时,代码点U + 1F60D使用代理对,因此代理不是您的问题。
假设你指的是更新的表情符号支持修饰符(改变他们的性别,颜色等),那么这与代理人无关。您只需在基本表情符号代码点之后附加所需的修饰符代码点。例如:
emojiCard.setText(new String(Character.toChars(0x1F466)) + new String(Character.toChars(0x1F3FE)));
(+ =)