Я хочу создать серию прослушивателей кликов для TextView
с.
private class ClickListener(setValue: (Int) -> (Unit), getValue: () -> (Int)) : View.OnClickListener {
override fun onClick(v: View?) {
val oldValue = getValue()
val newValue = v?.text.toString().toInt()
if (newValue != oldValue) {
if (oldValue != 0) {
v?.isSelected = false
v?.clearFocus()
} else {
v?.isSelected = true
v?.requestFocus()
setValue(newValue)
}
}
}
}
Здесь я создаю пользовательский прослушиватель щелчков с лямбдами (сеттер и геттер). Я создаю лямбды во Fragment, где я устанавливаю прослушиватели кликов на TextView
s.
Я могу вызвать setValue()
и getValue()
внутри конструктора (init
), но не могу использовать его внутри onClick()
.
Если я позвоню getValue2()
, я получу еще одну ошибку: