А потом просто установите слушателя
вертирую проект на Java в Kotlin, и я удивлен, что интерфейс сделал код более тяжелым в Kotlin, чем в Java.
пример: Я хочу установить onBackPressListener в MainActivity из MyFragment.
Файл 1: MainActivity, Файл 2: MyFragment, Файл 3: OnBackPressedListener (Интерфейс)
Файл 1 на Java, Файл 2 на Kotlin, Файл 3 на Java:
activity.setOnBackPressed { /* Do something */ }
Файл 1 в Котлине, Файл 2 в Котлине, Файл 3 в Java:
activity.setOnBackPressed(OnBackPressedListener { /* Do something */ })
Файл 1 в Котлине, Файл 2 в Котлине, Файл 3 в Котлине:
activity.setOnBackPressed(object: OnBackPressedListener {
override fun onBackPressed() {
/* Do something */
}
})
Возможно ли иметь 3 файла в Kotlin и использовать лямбду, чтобы установить слушателя? (Это так расстраивает, чтобы получить больше кода в Kotlin ..)
Спасибо