Mathias Brandt
05/01/2018, 2:41 PMtextChangedListener
to multiple input fields. Currently I have this:
withdraw_input.textChangedListener {
afterTextChanged {
validateInput()
}
}
reg_number.textChangedListener {
afterTextChanged {
validateInput()
}
}
I cannot figure out how to extract the listener to a variable and then re-use it, instead of defining the same listener multiple times.
I guess it’s just a syntax issue 🤔 Any hints? 🙂karelpeeters
05/01/2018, 2:48 PMEditTest.textChangedListener
doesn't exist for me.afterTextChanged
doesn't look like function override syntax to me.Mathias Brandt
05/01/2018, 2:51 PMkarelpeeters
05/01/2018, 2:51 PMctrl+B
(go to definition) on that function?Mathias Brandt
05/01/2018, 2:52 PMListenersWithCoroutines.kt
karelpeeters
05/01/2018, 2:53 PManko
then 🙂Mathias Brandt
05/01/2018, 2:53 PMkarelpeeters
05/01/2018, 2:53 PMMathias Brandt
05/01/2018, 2:54 PMkarelpeeters
05/01/2018, 2:55 PMMathias Brandt
05/01/2018, 2:56 PMkarelpeeters
05/01/2018, 2:57 PMfun textChangedListener(
context: CoroutineContext = UI,
init: __TextWatcher.() -> Unit
): android.text.TextWatcher = __TextWatcher(context).apply(init)
listener = textChangedListener { ... }
and reuse that.Mathias Brandt
05/01/2018, 3:00 PMkarelpeeters
05/01/2018, 3:02 PMval listener = object : TextWatcher {
override fun afterTextChanged(s: Editable?) {}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {}
}
editText.addTextChangedListener(listener)
Mathias Brandt
05/01/2018, 3:15 PMkarelpeeters
05/01/2018, 3:15 PMMathias Brandt
05/01/2018, 3:19 PMkarelpeeters
05/01/2018, 3:22 PMMathias Brandt
05/01/2018, 3:24 PMkarelpeeters
05/01/2018, 3:29 PMMathias Brandt
05/01/2018, 3:30 PMkarelpeeters
05/01/2018, 3:30 PMMathias Brandt
05/01/2018, 3:31 PMkarelpeeters
05/01/2018, 3:31 PMMathias Brandt
05/01/2018, 3:33 PMkarelpeeters
05/01/2018, 3:42 PMMathias Brandt
05/01/2018, 3:44 PM