Кotlin и Android - видимость функции из другого файла, а не MainActivity

некоторые функции хочу поместить в отдельный файл MyFunc.kt, а не в MainActivity.kt. Как сделать так, чтобы функции из MyFunc.kt можно было выбирать в конструкторе кнопок Design и вешать на свойство OnClick?


Ответы (1 шт):

Автор решения: Vadik

Пусть файл MyFunc.kt с функцией hello() лежит в пакете com.example.utils:

package com.example.utils

fun hello() {
    println("Привет")
}

Чтобы использовать эту функцию в MainActivity.kt, сделаем импорт этой функции:

package com.example

import com.example.utils.hello

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        ...
        val button = findViewById(...)
        button.setOnClickListener {
            hello()
        }
    }

}

В одном файле может находится сразу несколько функций, каждую нужно импортировать отдельно. Если имя пакета совпадает с текущим, то функцию можно не импортировать.

→ Ссылка