如何在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 } }