You can add as many ImageSpan to Spannable as you want. Just follow the concept outlined by the code you are linking. You probably want to use SpannableStringBuilder .
Drawable happySmiley = mContext.getResources().getDrawable(R.drawable.happy); happySmiley .setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()); Drawable sadSmiley = mContext.getResources().getDrawable(R.drawable.sad); sadSmiley .setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()); SpannableStringBuilder builder = new SpannableStringBuilder(); builder.append("Some text [happy_smiley_anchor]"); builder.setSpan(new ImageSpan(happySmiley), builder.length()-"[happy_smiley_anchor]".length(), builder.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); builder.append(". Some more text [sad_smiley_anchor]"); builder.setSpan(new ImageSpan(sadSmiley), builder.length()-"[sad_smiley_anchor]".length(), builder.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); edittext.setText(builder);
Obviously, you can use any anchor text / character you like - it is replaced when you insert ImageSpan . It can even work with an empty char / string, but I did not.
source share