2016-07-03 2 views
2

У меня есть переменная (emoji), которая содержит строку \ud83d\ude03, которую я получил от разбора xml. Это эмоциональные кодировки. Проблема заключается в том, когда я пытаюсь напечатать их следующим образом:Android-печать Emojis с использованием строки

editText.setText(emoji) 

выход \ud83d\ude03

Однако, когда я делаю это:

editText.setText("\ud83d\ude03") 

выход смайлик. Есть ли какая-нибудь работа вокруг этого? Я думаю, проблема в том, что моя обратная косая черта ускользает. Я не могу изменить файлы xml, и поэтому я попытался преобразовать строки в java самостоятельно безрезультатно.

+0

Когда вы говорите, что вы уже пробовали преобразования строки в Java, то, что вы пробовали, вы пытались заменить все/с //? –

+0

да, я сделал это. Я понял, что у моей струны есть дополнительные кавычки, прикрепленные к ней. –

ответ

4

Этот код:

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.

Solution

+0

проблема связана с дополнительными кавычками в переменной. спасибо –

+0

Не забудьте ответить (а) и выбрать лучший ответ '\ ud83d \ ude03' – user3486470

0

Итак, вы разобрали xml и отправили строку «\ ud83d» в виде 6 символов? Он делает то, что должен. Если вы хотите исправить это, вам нужно самостоятельно проанализировать строку и преобразовать эти последовательности в правильные точки юникода. Или вам нужно, чтобы сервер отправил точки юникода, а не удалил их.

Смежные вопросы