我有一个变量(表情符号),其中包含一个字符串 \ud83d\ude03
我从解析 xml 得到的。它们是表情符号编码。问题是当我尝试以下列方式打印它们时:
editText.setText(emoji)
输出是\ud83d\ude03
但是当我这样做时:
editText.setText("\ud83d\ude03")
输出是笑脸。有什么解决办法吗?我认为问题是我的反斜杠被转义了。我无法更改 xml 文件,因此我尝试在 java 本身中转换字符串但无济于事。
最佳答案
这段代码:
String smiley = "\ud83d\ude03";
EditText et = (EditText) findViewById(R.id.editText);
et.setText(smiley);
TextView tv = (TextView) findViewById(R.id.textView);
tv.setText(smiley);
布局文件:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Text"
android:id="@+id/textView"
android:layout_marginTop="150dp"
android:layout_marginLeft="50dp"/>
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/editText"
android:layout_below="@+id/textView"
android:layout_alignLeft="@+id/textView"
android:layout_alignStart="@+id/textView"/>
如您所见,它的工作原理。你的错误必须在 emoji
变量中。
关于java - Android 使用字符串打印表情符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38171608/