美文网首页Android开发经验谈Android开发程序员
Kotlin学习笔记之 17 可观察属性

Kotlin学习笔记之 17 可观察属性

作者: super_shanks | 来源:发表于2019-04-10 14:29 被阅读3次

17.可观察属性

  • observable

    任何用var形容的可变属性都可以对其进行观察(当然用val修饰的属性进行观察也不会报错,但是将变得毫无意义)

    一般观察属性的格式如下

    var name: String by Delegates.observable("<no name>") {
        property, oldValue, newValue ->
        println("$property :  $oldValue -> $newValue")
    }
    

    通过by Delegates.observable的形式进行观察,第一参数传入的是默认值,第二个参数用lambda表达式,三个参数分别对应的是property观察属性的类型,oldValue旧的值,和newValue新的值

  • vetoable

    用作拦截,跟上面的observable来说唯一的不同是,上面的observable后面的lambda表达式返回的是Unit,即只是把3个参数回调给你让你知道的。而vetoablelambda需要的是返回一个Boolean类型。

    If the callback returns true the value of the property is being set to the new value, and if the callback returns false the new value is discarded and the property remains its old value.

    即如果返回true那么属性可以赋值成新的值,如果返回的是false那么属性将依然维持旧的值,无法变成新的值。

相关文章

  • Kotlin学习笔记之 17 可观察属性

    17.可观察属性 observable任何用var形容的可变属性都可以对其进行观察(当然用val修饰的属性进行观察...

  • Kotlin学习目录

    Kotlin学习目录 一、Kotlin学习之函数和变量二、Kotlin学习之类和属性三、Kotlin学习之枚举和W...

  • Kotlin学习之基础语法

    写在前面的:1,Kotlin学习之基础语法2,Kotlin学习之类和继承3,Kotlin学习之属性和字段4,Kot...

  • Kotlin学习之属性

    Kotlin学习之属性 Kotlin中的属性主要有以下几点: Kotlin中允许包级属性的存在,即属性不一定在类里...

  • Kotlin学习笔记:类和接口

    Kotlin学习笔记:概述Kotlin学习笔记:基本语法和函数Kotlin学习笔记:类和接口Kotlin学习笔记:...

  • Kotlin学习笔记:概述

    Kotlin学习笔记:概述Kotlin学习笔记:基本语法和函数Kotlin学习笔记:类和接口Kotlin学习笔记:...

  • Kotlin 学习笔记:基本语法和函数

    Kotlin学习笔记:概述Kotlin学习笔记:基本语法和函数Kotlin学习笔记:类和接口Kotlin学习笔记:...

  • Kotlin学习笔记:注解和反射

    Kotlin学习笔记:概述Kotlin学习笔记:基本语法和函数Kotlin学习笔记:类和接口Kotlin学习笔记:...

  • Kotlin学习笔记:泛型

    Kotlin学习笔记:概述Kotlin学习笔记:基本语法和函数Kotlin学习笔记:类和接口Kotlin学习笔记:...

  • Kotlin学习笔记:类型系统

    Kotlin学习笔记:概述Kotlin学习笔记:基本语法和函数Kotlin学习笔记:类和接口Kotlin学习笔记:...

网友评论

    本文标题:Kotlin学习笔记之 17 可观察属性

    本文链接:https://www.haomeiwen.com/subject/sxbniqtx.html