Непонятное поведение editable.replace(...)
Есть Spannable текстовое поле ввода. Для него необходимо поменять часть текста. Делаю так:
{
Editable editable = getText();
editable.replace(start, end, "");
}
В итоге текст удаляется, но при вводе любого символа текст возвращается в самый конец поля ввода.
Пробовал добавлять TextWatcher, в итоге:
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
//Тут текст корректный, с удаленными символами
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
//А тут уже текст некорректный. Вырезанная строка добавляется в конец
}
@Override
public void afterTextChanged(Editable s) {
//Так же как в onTextChanged
}
Проявляется не везде, пока замечено только на планшетах Samsung с Android 4.1.2. Почему так происходит и что делать?
Источник: Stack Overflow на русском