gpt4 book ai didi

kotlin - Kotlin扩展字段设置/获取异常

转载 作者:行者123 更新时间:2023-12-02 13:22:35 24 4
gpt4 key购买 nike

我已经定义了这样的kotlin扩展名:

private var View.v: Boolean
get() = this.visibility == View.VISIBLE
set(visible) {
if (visible) {
this.visibility = View.VISIBLE
} else {
this.visibility = View.GONE
}
}

但是,当我尝试使用此字段时会出现一些错误。
private var Int.v: Boolean
get() = find<View>(this).v
set(visible) = find<View>(this).v(visible)

异常(exception)是:
Error:(40, 35) Expression 'v' of type 'Boolean' cannot be invoked as a function. The function 'invoke()' is not found

最佳答案

v不是函数。它是一个扩展属性。

改为这样做:

private var Int.v: Boolean
get() = find<View>(this).v
set(visible) {
find<View>(this).v = visible
}

为什么要在 View ID上创建扩展属性?我认为这不是最好的主意。

关于kotlin - Kotlin扩展字段设置/获取异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52052124/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com