我正在使用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);

最佳答案

使用以下方法:

public boolean hasImageSpan(EditText editText) {
    Editable text  = editText.getEditableText();
    ImageSpan[] spans = text.getSpans(0, text.length(), ImageSpan.class);
    return !(spans.length == 0);
}

09-26 16:18