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

我是新的android的kotlin。 我想访问在扩展函数中具有相同名称的类成员。 例如:

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

我如何访问changeVisibleState方法中的visibility

使用“ 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 } } 

你可以使用this操作符。

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