Как получить SpannableString из Edittext

#android #android-studio

Вопрос:

Я хочу добавлять изображение в определенном положении курсора для редактирования текста каждый раз , когда я нажимаю кнопку, но когда я пытаюсь добавить второе изображение, первое изображение исчезает

   void addImageToEditText(){
    int postiton =  mainEditText.getSelectionStart();
    mainEditText.getText().insert(postiton,String.valueOf(' '));
    SpannableString ss = new SpannableString(mainEditText.getText().toString() "  ");
    Drawable d = ContextCompat.getDrawable(this, R.drawable.unknown);
    d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
    ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);
    ss.setSpan(span, postiton, postiton 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    mainEditText.setText(ss);
}
 

Я попробовал html, но он не работает

Комментарии:

1. лучше каждый раз создавать новый промежуток . сохраните значение количества щелчков как глобальное и добавьте интервал с помощью цикла .

2. когда вы звоните mainEditText.getText().toString() , вы теряете ранее установленный набор ImageSpan (поскольку промежутки принадлежат SpannableString , а не просто обычные String ). как было предложено выше: было бы лучше хранить SpannableString где-нибудь (в классе?) вместо того, чтобы каждый раз создавать новый. или, если требуется создание, вам нужно снова установить ВСЕ промежутки, все ранее установленные новый

3. Я создал новый SpannableString с изображением и вставкой в основной текст в нужной позиции. Теперь это вроде как работает.