为什么android:text不显示最新的LiveData值?

时间:2020-08-12 06:15:05

标签: android android-livedata

以下代码基于project

我修改了一些代码。

android:text="@{viewmodel.name}"显示LiveData的{​​{1}}值。

name将更改fun onLike()的{​​{1}}值。

我认为LiveData在单击按钮(name)后将显示最新值“我的新”。

但是实际上,android:text="@{viewmodel.name}"一直显示“ Ada”,为什么?

SimpleViewModelSolution.kt

android:id="@+id/like_button"

solution.xml

android:text="@{viewmodel.name}"

1 个答案:

答案 0 :(得分:1)

将您的onLike()更改为此:

fun onLike() {
    _likes.value = (_likes.value ?: 0) + 1
    _name.value = "My new"
}

此外,您可以将_name声明为val而不是var