假设我创建了 mutableLivedata 变量(一个观察者),并通过它更新了一个 textview,现在我想清除 livedata 一旦它更新 textview 发送的值,就像我刚刚创建 Livedata 变量并且它在初始阶段是新鲜的一样,它没有价值. 我怎样才能做到这一点?
谢谢
假设我创建了 mutableLivedata 变量(一个观察者),并通过它更新了一个 textview,现在我想清除 livedata 一旦它更新 textview 发送的值,就像我刚刚创建 Livedata 变量并且它在初始阶段是新鲜的一样,它没有价值. 我怎样才能做到这一点?
谢谢
你不会这样做。
使用的主要原因之一LiveData
是让其他组件能够观察LiveData
.
例如,假设您使用 aLiveData
来跟踪按下计数器的次数。您可以使用 aTextView
来观察这一点,以便在更新LiveData
时显示计数器的数量。LiveData
这是预期的用途LiveData
。
随着你想要做的事情,当你将内容设置LiveData
为空的那一刻TextView
,正在观察的那个LiveData
也会更新自己变成空的。
如果您想LiveData
在 a 中显示它的值后进行重置TextView
,LiveData
则不适合您打算做的事情。
简单地使用 aString
会更容易和更有效。
编辑:
但是如果你还想这样做,只要你LiveData
是一个MutableLiveData
,你可以使用该setValue()
方法设置一个默认值。