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