Android打印Emojis使用字符串

SH_*_*V95 2 java android character-encoding

我有一个变量(表情符号),其中包含\ud83d\ude03我从解析xml中获得的字符串.它们是表情符号编码.问题是当我尝试以下列方式打印它们时:

editText.setText(emoji)  
Run Code Online (Sandbox Code Playgroud)

输出是 \ud83d\ude03

但是当我这样做时:

editText.setText("\ud83d\ude03") 
Run Code Online (Sandbox Code Playgroud)

输出是笑脸.这有什么工作吗?我认为问题是我的反斜杠正在逃脱.我无法更改xml文件,因此我尝试在java中转换字符串无效.

小智 6

这段代码:

String smiley = "\ud83d\ude03";
EditText et = (EditText) findViewById(R.id.editText);
et.setText(smiley);

TextView tv = (TextView) findViewById(R.id.textView);
tv.setText(smiley);
Run Code Online (Sandbox Code Playgroud)

布局文件:

<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"/>
Run Code Online (Sandbox Code Playgroud)

它可以正常工作.您的错误必须是emoji变量.

解