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
如何在Kotlin android的扩展函数中访问同名类成员_Android_Kotlin_Extension Function - Fatal编程技术网

如何在Kotlin android的扩展函数中访问同名类成员

如何在Kotlin android的扩展函数中访问同名类成员,android,kotlin,extension-function,Android,Kotlin,Extension Function,我是kotlin的android新手。我想访问扩展函数中同名的类成员。 例如: var visibility = null //class level variable //EXTENSION FUNCTION fun ProgressBar.changeVisibleState(flag: Boolean) { if (flag) visibility = View.VISIBLE else

我是kotlin的android新手。我想访问扩展函数中同名的类成员。 例如:

   var visibility = null //class level variable

    //EXTENSION FUNCTION
    fun ProgressBar.changeVisibleState(flag: Boolean) {
        if (flag)
            visibility = View.VISIBLE
        else
            visibility = View.INVISIBLE
    }

如何在
changeVisibleState
方法中访问
可见性

您可以使用
操作符

class Hello {
    var visibility: Int = 0 //class level variable

    //EXTENSION FUNCTION
    fun ProgressBar.changeVisibleState(flag: Boolean) {
        if (flag)
            this@Hello.visibility = View.VISIBLE
        else
            this@Hello.visibility = View.INVISIBLE
    }
}
使用
this@Hello
您可以访问
Hello
的属性,而不是
ProgressBar

class Bye {
    var visibility: Int = 0 //class level variable
}
class Hello {
    var visibility: Int = 0 //class level variable

    fun Bye.changeVisibleState(flag: Boolean) {
        //access Bye's prop
        visibility = if (flag) 1 else 2
        //access Hello's prop
        this@Hello.visibility = 12
    }
}