首页 > 解决方案 > 如何在 Android Studio 中添加带有函数的单独文件

问题描述

我想要一个文件,其中包含一些可以添加到我的项目中的功能。所以我可以添加该文件,然后再次使用相同的东西。

我创建了一个新文件,添加了一个简单的函数并尝试在我的 MainActivity 中运行它。Mainactivity 可以“看到”我的函数,但是一旦函数运行,应用程序就会崩溃。是否可以像这样制作一个单独的文件并可以访问所有功能,就好像它们在我的 MainActivity 中一样?

只是为了测试我这样做:

MainActivity.kt

mToast("Its working", 0, 500)

有趣的.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()
}

标签: androidfunctionkotlin

解决方案


您不应MainActivity在辅助函数中创建新实例。相反,将上下文作为参数传递:

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

推荐阅读