А потом просто установите слушателя

вертирую проект на 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 ..)

Спасибо

Ответы на вопрос(1)

Ваш ответ на вопрос