在android textview中显示\ u00F0 \ u009F \ u0098 \ u0098字符串到表情符号?

时间:2018-03-28 05:20:31

标签: android textview

enter image description here

str = videoname.get(i);
    String toServer = str;
    String toServerUnicodeEncoded = StringEscapeUtils.escapeJava(toServer);
    viewHolder.textss.setText(toServerUnicodeEncoded);
    Log.e("emos",toServerUnicodeEncoded);

我正在使用volley从URL检索字符串,字符串中包含我要在Android TextView中显示的emojis。所以为此,我接受了字符串,然后在StringEscapeUtils.escapeJava(toServer)中传递了字符串,然后我以"\u00F0\u009F\u0098\u0098"形式获得了表情符号,而不是"\uD83D\uDE18"形式。那么如何在textview中显示表情符号?

6 个答案:

答案 0 :(得分:1)

String title = new String(c.getString("title").getBytes("ISO-8859-1"), "UTF-8");

在解析响应时我现在使用了这个而不是:

String title = String(c.getString("title");

这解决了我的表情符号问题。

答案 1 :(得分:1)

这对我有用,请尝试一下。

导入此库

implementation 'org.apache.commons:commons-lang3:3.4'

然后使用其方法将字符串(表情符号)转换为Emoji以显示在TextView

textView.setText(StringEscapeUtils.unescapeJava(string_value));
  

例如:-

输入字符串:- “ \ ud83d \ ude01”

结果:-

enter image description here

答案 2 :(得分:0)

您需要unescape转义的字符串。

您可以使用StringEscapeUtils.unescapeJava(String)取消它。

问题已全面解释here

答案 3 :(得分:0)

您不需要将其转换为unicode直接使用该字符串代码,如

 TextView txt = (TextView) findViewById(R.id.txt);
        txt.setText("\u00F0");

更多不自杀代码请查看此URL

希望这对你有所帮助。

答案 4 :(得分:0)

这是html编码字符串。检查代码:

String txt = "\u00F0\u009F\u0098\u0098";
tvHihiView.setText(Html.fromHtml(txt));

答案 5 :(得分:-1)

TextView txt_price =(TextView)findViewById(R.id.txt_price);

txt_price.setText(“\ u20B9”+“5000”);