如何在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 } }
- Kotlin:“synchronized”使编译器不能确定变量的初始化
- 什么是Iterable的行为#all&为什么Kotlin Char :: class.java!= char.javaClass
- 避免在YouTubePlayerFragment init中暂停另一个音频应用程序
- 安科从课堂上看
- 在EditText Kotlin,Android中设置文本
- UnsupportedOperationException“android”命令不再包含在SDK中
- Kotlin Textview id引用不适用于非英文字符
- 观察员onChanged从来没有打电话
- notifyItemChanged后面的RecyclerView中PopupWindow的位置错误
- kotlin android – Xposed IllegalArgumentException'android.content.res.CoollifeUITpedArray'
- Android Kotlin – 每分钟发送通知