获取EditText组件
- EditText etWeiboContent = (EditText) findViewById(R.id.et_content);
将表情转换成文本
- EmoticonsUtil mEmoticons = new EmoticonsUtil(this);
- CharSequence emoticonsText = mEmoticons.replace(mEmoticons.getEmoticons()[position]);
获取光标所在位置
- int index = etWeiboContent.getSelectionStart();
获取EditText中原有的文本内容
- Editable editable = etWeiboContent.getEditableText();
在光标所在位置插入表情转换成文本
- if (index < 0 || index >= editable.length()) {
- editable.append(emoticonsText);
- } else {
- editable.insert(index, emoticonsText);
- }
完整的代码如下:
- EditText etWeiboContent = (EditText) findViewById(R.id.et_content);
-
-
- EmoticonsUtil mEmoticons = new EmoticonsUtil(this);
- CharSequence emoticonsText = mEmoticons.replace(mEmoticons.getEmoticons()[position]);
-
-
- int index = etWeiboContent.getSelectionStart();
-
- Editable editable = etWeiboContent.getEditableText();
-
- if (index < 0 || index >= editable.length()) {
- editable.append(emoticonsText);
- } else {
- editable.insert(index, emoticonsText);
- }
有关将表情转换成文本的工具类源码如下:
EditText插入表情(字符串)到光标所在位置
原文:http://www.cnblogs.com/taoboy/p/5063595.html