数据绑定中的Livedata类内部成员

时间:2018-04-09 09:05:33

标签: android mvvm android-databinding android-architecture-components android-livedata

如果我有班级

data class item(val address: String = ""
                )

在我的viewmodel中声明它     var varLive:MutableLiveData = MutableLiveData()

以后我从我的viewmodel发布它         varLive.postValue(scootersList [标记])

在我的xml中我有

    <TextView
    ... 
    android:text="@{vModel.varLive.address}"
/>

我无法访问item.address并获得数据绑定错误。 我可以检查varLive是否为null,它是否为空 我是否真的必须将每个livingata类字段声明为实时数据?如果我有一个班有100名成员?

1 个答案:

答案 0 :(得分:0)

由于某些愚蠢的原因,你必须在viewmodel中指定一个getter方法,所以数据绑定可以选择它。像这样:

fun getvarLive() = varLive

Kotlin最适合你。但数据绑定不会绑定Kotlin getter。 Seriosly讨厌