Ваш метод ожидает аргумент функции, который возвращает единицу.
callbackFunc: // Name with a type that is
() // a 0 arg function
-> Unit // that returns Unit (AKA void, or nothing)
Если вы передадите вызов метода напрямую, вы передадите методу аргумент, состоящий из возвращаемого типа.То, как вы изначально это делали, передавало Unit методу.
Чтобы передать в качестве аргумента фактический метод, а не только тип возврата из вызова, вы используете ::
:
dataBtnClickHandler(::launchStartActivity)
В качестве альтернативы this::launchStartActivity
, если он находится в текущемобъект / класс, или замените this
именем класса (или именем файла, если это функция верхнего уровня).Хотя :: работает в большинстве случаев.
Помните;здесь вы передаете ссылку на метод, а не результат вызова метода или переменную.