Я пытаюсь выяснить, как у меня может быть одно место для прослушивания изменений текста, а также изменений выделения текста (перемещения курсора) для EditText или TextView.
В настоящее время я сохраняюзначение в тексте изменилось и распространить его на выбор изменилось.Предполагается, что onSelectionChanged
всегда вызывается после onTextChanged
.
private var replacedText: CharSequence = ""
override fun onSelectionChanged(selStart: Int, selEnd: Int) {
super.onSelectionChanged(selStart, selEnd)
emitTextChangedEvent(selStart, selEnd, replacedText)
replacedText = ""
}
override fun onTextChanged(text: CharSequence, start: Int, lengthBefore: Int, lengthAfter: Int) {
super.onTextChanged(text, start, lengthBefore, lengthAfter)
replacedText = text.subSequence(start, start + lengthAfter)
}
private fun emitTextChangedEvent(selStart: Int, selEnd: Int, replacedText: CharSequence) {
// something
}
Правильно ли предполагать такой подход?