Я хочу написать TextWatcher
для нескольких EditText
с. В любом из них я хочу присвоить EditText
значение переменной. Например:
var variable: String? = null
private inner class CodeTextWatcher : TextWatcher {
override fun afterTextChanged(s: Editable?) {
variable = s?.toString()
}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
}
}
Для нескольких EditText
s я хочу написать что-то вроде:
private inner class CodeTextWatcher(private val method: (String?) -> Unit) : TextWatcher {
override fun afterTextChanged(s: Editable?) {
method(s?.toString())
}
override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
}
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
}
}
и назвать это:
textWatcher1 = CodeTextWatcher {variable1 = s}
textWatcher2 = CodeTextWatcher {variable2 = s}
Но я не могунапишите s
здесь и хотите получить доступ к s
из afterTextChanged(s: Editable?)
. Возможно ли это?