В чем разница между двумя способами создания TextWatcher
1-й способ
val textChangedListener = object: TextWatcher{
override fun afterTextChanged(p0: Editable?) {
}
override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
}
override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
}
}
2-й способ
private object textChangedListener: TextWatcher{
override fun afterTextChanged(p0: Editable?) {
}
override fun beforeTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
}
override fun onTextChanged(p0: CharSequence?, p1: Int, p2: Int, p3: Int) {
}
}
И 1-й и 2-й способами я могу создать TextChangedListener, но не могу понять какой правильный и в чем разница.
И кстати, во 2-м способе я не могу вызывать функции внешнего класса.