9

EditText 内に絵文字を入れようとしています。私はなんとかそれを行うことができ、正常に動作しますが、ソフトキーボードを使用して EditText からこれらの絵文字を削除しようとすると問題が発生します。削除ボタンを 1 回クリックするだけでは、このアクションを実行できません。新しいImageSpanを挿入すると、imageIdを置き換えますが、アイコンを削除しようとすると、画像を削除する前にすべてのimageId文字を削除する必要があります。

String fileName = "emoticon1.png";
Drawable d = new BitmapDrawable(getResources(), fileName);
String imageId = "[" + fileName + "]";
int cursorPosition = content.getSelectionStart();
int end = cursorPosition + imageId.length();
content.getText().insert(cursorPosition, imageId);

SpannableStringBuilder ss = new SpannableStringBuilder(content.getText());
d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);
ss.setSpan(span, cursorPosition, end, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
content.setText(ss, TextView.BufferType.SPANNABLE);
content.setSelection(end);

削除ボタンを 1 回クリックするだけで絵文字を削除する必要があります。私を手伝ってくれますか?

ありがとう!

4

1 に答える 1