为什么android:text不显示最新的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}"

解决方法

将您的onLike()更改为此:

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

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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...