我试图从数据库中获取长字符串中的emoji代码,格式为:0x1F60A…所以我可以访问代码,但它是一个字符串。
起初,我试图通过执行tv.setText(beforeEmo + getEmijoByUnicode((int)emoKind));来转换变量,但android studio提示:“无法将java.lang.string转换为int”…
getemijobyunicode方法是:

public String getEmijoByUnicode(int unicode) {
    return new String(Character.toChars(unicode));
}

所以我试了这个:
tv.setText(beforeEmo + getEmijoByUnicode(Integer.parseInt(emoKind)));

但它以无数的形式恐怖而崩溃。有没有办法让表情符号出现在我的文本中?

最佳答案

尝试

Integer.parseInt("1F60A", 16);


Long.parseLong("1F60A", 16);

将字符串转换为int或long。所以你必须去掉“0x”,就像这样
getEmijoByUnicode(Integer.parseInt(emoKind.substring(2), 16));

09-08 11:57