我想在Snackbar/Toast通知中添加表情符号/表情符号.这个表情符号需要是图像资源还是Unicode字符.当我使用来自以下网站Unicode角色网站的 unicode字符时,我得到字符串输出.
Snackbar.make(findViewById(android.R.id.content), \U+1F601 + "Done", Snackbar.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud) 我尝试从数据库中获取长字符串内的表情符号代码,格式如下:0x1F60A ...所以我可以访问代码,但它将是一个String。
起初,我尝试通过执行以下操作来转换变量tv.setText(beforeEmo + getEmijoByUnicode((int)emoKind));,但 Android Studio 提示:“无法将 'java.lang.String' 转换为 int”...
getEmijoByUnicode方法是:
public String getEmijoByUnicode(int unicode) {
return new String(Character.toChars(unicode));
}
Run Code Online (Sandbox Code Playgroud)
所以我尝试了这个:
tv.setText(beforeEmo + getEmijoByUnicode(Integer.parseInt(emoKind)));
Run Code Online (Sandbox Code Playgroud)
但它因 NumberFormatError 崩溃。有什么办法可以让表情符号出现在我的文本中吗?
我可以通过这种方式在textview中显示表情符号如何在android textview中通过unicode设置表情符号,但是如何将“uD83D \ uDE04”之类的内容转换为代码点0x1F604(“uD83D \ uDE04”代表0x1F604)?