Я пытаюсь решить свою проблему в течение 2 дней, но без каких-либо успехов.Обрезать обертку при использовании bulletspan
Проблема заключается в следующем: когда я устанавливаю BulletSpan в текст, а затем показываю его в EditText, все работает нормально, пока я не начну вводить текст. Когда текст завернут в конце экрана, отступ работает, но курсор указывает на фактическое положение, а также некоторые символы из предыдущей строки добавляются после курсора. Чтобы лучше проиллюстрировать эту проблему, см. Прикрепленное изображение.
Также стоит отметить, что это произойдет только тогда, когда я набираю в тексте, когда я устанавливаю текст источника и текст слишком долго, чтобы быть только на одной линии, обертывание отлично работает и дополнительные символы не добавляются, а позиция курсора неверна.
Также я пробовал LeadingMarginSpan.Standart, и поведение было таким же.
В коде я устанавливаю стартовый знак:
private void handleListStart(SpannableStringBuilder text) {
int len = text.length();
text.setSpan(new ListItem(), len, len, Spannable.SPAN_MARK_MARK);
}
Затем установив продолжительность:
private void handleListEnd(SpannableStringBuilder text) {
int len = text.length();
Object obj = getLast(text, ListItem.class);
int where = text.getSpanStart(obj);
text.removeSpan(obj);
if (where != len) {
text.setSpan(new BulletSpan(listIndent * 15), where, len, Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
}
}
Я получаю данные из XML-файла.
Спасибо за любую помощь
EDIT: я забыл добавить, что я попробовал это на Android 4.1 и 4.4, и оба вели себя тот же
Вы нашли решение? –