Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何访问Android库kotlin函数_Android_Kotlin_Android Library - Fatal编程技术网

如何访问Android库kotlin函数

如何访问Android库kotlin函数,android,kotlin,android-library,Android,Kotlin,Android Library,我在我的Android库中编写了一个简单的函数,我想在我的Android项目中使用它。我无法从android项目访问该库函数 导入很好,我可以从项目中获取Util类。只是我无法访问kotlin函数 注意:Android库在Android项目中 import com.i6systems.offlineservicelibrary.Util class MainActivity : AppCompatActivity() { override fun onCreate(savedInst

我在我的Android库中编写了一个简单的函数,我想在我的Android项目中使用它。我无法从android项目访问该库函数

导入很好,我可以从项目中获取Util类。只是我无法访问kotlin函数

注意:Android库在Android项目中

import com.i6systems.offlineservicelibrary.Util

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        Util.specialToast(applicationContext, "test")
        //****Unresolved reference: specialToast*****
    }
}
我得到
未解析的引用:specialToast

Android库函数

class Util {

    fun specialToast(context: Context, string: String) {
        Toast.makeText(context, string, Toast.LENGTH_LONG).show()
    }
}
安卓项目

import com.i6systems.offlineservicelibrary.Util

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        Util.specialToast(applicationContext, "test")
        //****Unresolved reference: specialToast*****
    }
}
谢谢你的建议

R


我创建了一个伴生对象,并将函数放在其中,结果成功了。但正确的方法是什么

惯用的科特林方式是

所以

在一个文件和

import com.i6systems.offlineservicelibrary.specialToast

...
specialToast(applicationContext, "test")

另一方面。

如果您使用的是4.1金丝雀,那可能就是这个问题:我使用的是Android studio 3.6.2来调用实例方法,您需要首先创建实例:
Util().specialToast(applicationContext,“test”)
或将
替换为
对象
关键字我创建了一个伴生对象,并将函数放在其中,该对象正常工作。但是什么是正确的方法呢?如果您可以提到何时在类中使用伴生对象,以及当函数绑定到特定的类/接口但作为成员没有意义时您提到的方法,这将非常有用。但即使这不是一个严格的规则,例如,
arrayOf
也可能在
数组中声明,并且是
Array.of
,但不是。