如何访问Android库kotlin函数
我在我的Android库中编写了一个简单的函数,我想在我的Android项目中使用它。我无法从android项目访问该库函数 导入很好,我可以从项目中获取Util类。只是我无法访问kotlin函数 注意:Android库在Android项目中如何访问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
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
,但不是。