#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()
}