文件外部的函数无法调用

时间:2018-09-02 04:20:37

标签: android kotlin progress-bar

我有2个类文件,第一个文件声明了该函数,然后MainActivity文件调用了该函数。这向我显示了一个错误,即visible()和invisible()函数是未解决的引用。

  

编辑:它在visible()和invisible()函数中显示红色

我有这个 Utils.kt 文件

class Utils{

fun View.visible() {
    visibility = View.VISIBLE
}

fun View.invisible() {
    visibility = View.INVISIBLE
} }

MainActivity.kt 文件

override fun showLoading() {
    progressBar.visible()
}

override fun hideLoading() {
    progressBar.invisible()
}

1 个答案:

答案 0 :(得分:4)

来自Kotlin官方网站:

  

大多数时候,我们在顶级(即直接)定义扩展   在包装下:

XmlElement
  

要在声明包之外使用此类扩展,我们需要   将其导入到呼叫站点:

package foo.bar

fun Baz.goo() { ... }

对于您而言,只需将所有扩展功能放在package com.example.usage import foo.bar.goo // importing all extensions by name "goo" // or import foo.bar.* // importing everything from "foo.bar" fun usage(baz: Baz) { baz.goo() } 文件中,然后删除Utils.kt

Utils.kt

class Utils