Как добавить отдельный файл с функциями в Android Studio

#android #function #kotlin

#Android #функция #kotlin

Вопрос:

Я хотел бы иметь файл с некоторыми функциями, которые я мог бы добавлять в свои проекты. Итак, я могу просто добавить этот файл, а затем снова использовать то же самое.

Я создал новый файл, добавил простую функцию и попытался запустить ее в моем MainActivity. Mainactivity может «видеть» мою функцию, но приложение вылетает, как только функция запускается. Возможно ли создать отдельный файл, подобный этому, и иметь доступ ко всем функциям, как если бы они были в моем MainActivity?

Просто для тестирования я сделал это:

MainActivity.kt

 mToast("Its working", 0, 500)
  

funs.tk

 package com.myname.app

import android.view.Gravity
import android.widget.Toast

fun mToast(t: String, x: Int, y: Int) {
    val toast = Toast.makeText(MainActivity().applicationContext, t, Toast.LENGTH_SHORT)
    toast.setGravity(Gravity.BOTTOM, x, y)
    toast.show()
}
  

Ответ №1:

Вы не должны создавать новый MainActivity экземпляр в своей вспомогательной функции. Вместо этого передайте context в качестве параметра:

 fun mToast(context: Context, t: String, x: Int, y: Int) {
    val toast = Toast.makeText(context, t, Toast.LENGTH_SHORT)
    toast.setGravity(Gravity.BOTTOM, x, y)
    toast.show()
}