Как слушать изменения текста Android EditText, а также движения курсора в одном событии - PullRequest
0 голосов
/ 26 апреля 2019

Я пытаюсь выяснить, как у меня может быть одно место для прослушивания изменений текста, а также изменений выделения текста (перемещения курсора) для 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
}

Правильно ли предполагать такой подход?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...