1

我正在使用 SpannableStringBuilder 在我的编辑文本中添加图像。但我的问题是如何检测编辑文本是否仍然包含图像?即,我有一个包含图像和文本的编辑文本,然后我删除图像并仅保留文本。现在我想检查我的编辑文本是否还有图像。

我正在使用此代码将文本添加到我的编辑文本中。

final Bitmap bitmap = BitmapFactory.decodeFile(fileUri.getPath(),options);
getRoundedCornerBitmap(bitmap, Color.BLUE,2,2,context);
String prevText = composeMessage.getText().toString();
SpannableStringBuilder ss = new SpannableStringBuilder(" \n" + prevText); 
Drawable d = new BitmapDrawable(getResources(),(Bitmap.createScaledBitmap(mmsPhoto, 120, 120, false)));

d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight()); 
ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE); 
ss.setSpan(span, 0, 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
composeMessage.setText(ss);
4

1 回答 1

4

使用以下方法:

public boolean hasImageSpan(EditText editText) {
    Editable text  = editText.getEditableText();
    ImageSpan[] spans = text.getSpans(0, text.length(), ImageSpan.class);
    return !(spans.length == 0);
}
于 2013-11-06T08:45:42.760 回答