BitmapDrawable imguserID = (BitmapDrawable)CommentView.getDrawableFromTExtView(textview);
SpannableStringBuilder spannableStringBuilder = addSpanText(textview.getText().toString(),imguserID);
public static SpannableStringBuilder addSpanText(String ss, BitmapDrawable dd) {
dd.setBounds(0, 0, dd.getIntrinsicWidth(),dd.getIntrinsicHeight());
SpannableStringBuilder builder = new SpannableStringBuilder();
builder.append(ss);
builder.setSpan(new ImageSpan(dd), builder.length() - ss.length(),builder.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
return builder;
}
public static Object getDrawableFromTExtView(View view)
{
int spec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
view.measure(spec, spec);
view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());
Bitmap b = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(b);
c.translate(-view.getScrollX(), -view.getScrollY());
view.draw(c);
view.setDrawingCacheEnabled(true);
Bitmap cacheBmp = view.getDrawingCache();
Bitmap viewBmp = cacheBmp.copy(Bitmap.Config.ARGB_8888, true);
view.destroyDrawingCache();
return new BitmapDrawable(viewBmp);
}