如何在Android中获取ObservableField的值
您好我有我的java代码中的这个ObservableField
。 我想通过调用get
方法来获得它的价值。
val email = ObservableField<String>()
这可以使用下面的方法来完成。 我很困惑,不知道我应该在这里做一个getter来获得它的价值吗? 或者有不同的标准方法来获取ObservableField
的值我也在我的应用程序中使用RxJava。
fun login(view: View) { val emailVal = email.get() }
我认为使用email.get()
已经足够了。 如果你真的想在你的代码中使用.get()
,你可以使用backing字段:
val _email = ObservableField<String>() var email: String get() = _email.get() set(value) = _email.set(value) //use fun login(view: View) { val emailVal = email }
这正是代表团的意思。 Kotlin中一个属性的委派意味着拥有一个实现了运算符函数getValue
和可选的setValue
,在访问或更新属性时会调用它。
你的委托可能是这样的:
class <T> ObservableDelegate { val field = ObservableField<T>() operator fun getValue(self: Any?, prop: KProperty<*>) : T = field.get() operator fun setValue(self: Any?, prop: KProperty<*>, value: T) = field.set(value) }
然后你可以像这样使用委托:
val email : String by ObservableDelegate() fun login(view: View) { val emailVal = email }
阅读更多关于属性的授权: https : //kotlinlang.org/docs/reference/delegated-properties.html
- Android Room,将库数据类添加到数据库
- 用Kotlin在android中声明UI组件的最好方法是什么?
- AdMob RewardedVideoAd一直在后台运行
- 变量'runnable'必须被初始化
- 如何在Kotlin中使用RetroFit2 responseBodyConverter?
- 没有类的Android应用程序?
- 小部件(TextView)中的UNRESOLVED_REFERENCE已解析为android-kotlin中的错误元素
- Android随着日期时间的变化,但是又放了一次,Firebase只是返回过期的令牌
- Android的致命异常在android.arch.lifecycle Kotlin lang