如何检查编辑文本是否具有可绘制性

时间:2013-11-06 08:37:58

标签: android

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

1 个答案:

答案 0 :(得分:3)

使用以下方法:

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