我正在使用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);
答案 0 :(得分:3)
使用以下方法:
public boolean hasImageSpan(EditText editText) {
Editable text = editText.getEditableText();
ImageSpan[] spans = text.getSpans(0, text.length(), ImageSpan.class);
return !(spans.length == 0);
}