How to Get Text and Smiley from Edittext into String?

后端 未结 2 810
失恋的感觉
失恋的感觉 2021-02-06 14:06

How to Get text and smiley from edittext into String?

Using Following Code I was Add Smiley/Emojis in Edittext but how to get text/smiley from edittext into String Forma

2条回答
  •  春和景丽
    2021-02-06 14:39

    Please use following 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;
            }
    

    following for emotions code...

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

    and settext using

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

提交回复
热议问题