На самом деле, у меня есть числовой текст редактирования, и я добавляю к нему Text Watcher.
Я реализовал два подхода:
Первый:
override fun afterTextChanged(view: Editable?) {
editText.removeTextChangedListener(this)
//after add some separator
editText.setText(newString)
inputView.addTextChangedListener(this)
}
Второй:
override fun afterTextChanged(view: Editable?) {
synchronized(this) {
if(!semaphore.orFalse()){
semaphore = true
//after add some separator
editText.setText(newString)
semaphore = false
}
}
}
Проблема: , когда пользователь начинает быстро набирать цифры, пользовательский интерфейс становится медленным (означает, что обновление текста редактирования становится медленным)