Sudhir Singh Khanger
val watcher = object :TextWatcher{ private var searchFor = "" override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { val searchText = s.toString().trim() if (searchText == searchFor) return searchFor = searchText launch { delay(300) //debounce timeOut if (searchText != searchFor) return@launch // do our magic here } } override fun afterTextChanged(s: Editable?) = Unit override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) = Unit }
onTextChanged
stojan
Job
Flow<String>
myTextChanges.debounce(300) .mapLatest { doSomeSuspendOp() }
A modern programming language that makes developers happier.