#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 с изображением и вставкой в основной текст в нужной позиции. Теперь это вроде как работает.