如何从Edittext获取文本和笑脸到字符串?

如何从edittext获取文本和笑脸到String?

使用以下代码我在Edittext中添加了Smiley / Emojis但是如何从edittext获取文本/笑脸到字符串格式。

ImageGetter imageGetter = new ImageGetter() { public Drawable getDrawable(String source) { Drawable d = getResources().getDrawable( R.drawable.happy); d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()); return d; } }; cs = Html.fromHtml( "", imageGetter, null); edttxtemoji.setText(cs); 

请使用以下function。

 public static Spannable getSmiledText(Context context, String text) { SpannableStringBuilder builder = new SpannableStringBuilder(text); int index;for (index = 0; index < builder.length(); index++) { for (Entry entry : emoticons.entrySet()) { int length = entry.getKey().length(); if (index + length > builder.length()) continue; if (builder.subSequence(index, index + length).toString().equals(entry.getKey())) { builder.setSpan(new ImageSpan(context, entry.getValue()), index, index + length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); index += length - 1; break; } } } return builder; } 

关注情绪代码……

 private static final HashMap emoticons = new HashMap(); static { emoticons.put("8-)", R.drawable.s1); emoticons.put(":-&", R.drawable.s2); emoticons.put(">:-)", R.drawable.s3).....}; 

和settext使用

 tv_msg_send.setText(getSmiledText(getApplicationContext(), edt_msg.getText().toString())); 

使用Html.toHtml(跨文本)

喜欢:

 String myString = Html.toHtml(cs); System.out.println(myString); 

编辑:我在黑暗中挖掘,但你可能想要你的Smillie的文字(字符串)表示吗?

像你有:

 cs = Html.fromHtml( "", imageGetter, null); 

你想要:

String cs =“:)”;

是对的吗? 如果没有,我之前的回答为您提供了Html代码的技术字符串表示