//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); SmiliesEditText et=(SmiliesEditText)findViewById(R.id.EditText1); et.insertIcon(R.drawable.smile);