//SpannableString连续的字符串,长度不可变,同时可以附加一些object;可变的话使用SpannableStringBuilder,参考sdk文档
SpannableString ss = new SpannableString(getText().toString()+"[smile]");
//得到要显示图片的资源
Drawable d = getResources().getDrawable(id);
//设置高度
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
//跨度底部应与周围文本的基线对齐
ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);
//附加图片
ss.setSpan(span, getText().length(),getText().length()+"[smile]".length(), Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
setText(ss);