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扩展字段set/get,但出现异常_Kotlin - Fatal编程技术网

Kotlin扩展字段set/get,但出现异常

Kotlin扩展字段set/get,但出现异常,kotlin,Kotlin,我定义了一个kotlin扩展,如下所示: private var View.v: Boolean get() = this.visibility == View.VISIBLE set(visible) { if (visible) { this.visibility = View.VISIBLE } else { this.visibility = View.GONE } }

我定义了一个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)

v
不是该功能。它是一个扩展属性

改为这样做:

private var Int.v: Boolean
   get() = find<View>(this).v
   set(visible) {
     find<View>(this).v = visible 
   }
private var Int.v:布尔值
get()=查找(此).v
集合(可见){
找到(这个)。v=可见
}

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

谢谢你的回答,我在R.id上创建了一个扩展,因为我想使用资源id,比如
R.id.button.v=false
来隐藏按钮。
private var Int.v: Boolean
   get() = find<View>(this).v
   set(visible) {
     find<View>(this).v = visible 
   }