android - Android体系结构组件(LiveData):如何在更新文本视图后清除LiveData中的所有值
问题描述
假设我创建了 mutableLivedata 变量(一个观察者),并通过它更新了一个 textview,现在我想清除 livedata 一旦它更新 textview 发送的值,就像我刚刚创建 Livedata 变量并且它在初始阶段是新鲜的一样,它没有价值. 我怎样才能做到这一点?
谢谢
解决方案
你不会这样做。
使用的主要原因之一LiveData
是让其他组件能够观察LiveData
.
例如,假设您使用 aLiveData
来跟踪按下计数器的次数。您可以使用 aTextView
来观察这一点,以便在更新LiveData
时显示计数器的数量。LiveData
这是预期的用途LiveData
。
随着你想要做的事情,当你将内容设置LiveData
为空的那一刻TextView
,正在观察的那个LiveData
也会更新自己变成空的。
如果您想LiveData
在 a 中显示它的值后进行重置TextView
,LiveData
则不适合您打算做的事情。
简单地使用 aString
会更容易和更有效。
编辑:
但是如果你还想这样做,只要你LiveData
是一个MutableLiveData
,你可以使用该setValue()
方法设置一个默认值。
推荐阅读
- laravel - 覆盖 Laravel 的有效负载异常
- domain-driven-design - 尚未发生的事情的领域事件命名
- git - 处理向功能添加新的迷你功能的正确方法,该分支已合并到主控中
- javascript - 如何使用 id 或 data 属性获取单击按钮的动态值
- javascript - 检查js中是否为空的字段
- c++ - 复合模板
- ruby-on-rails - Rails:资产不适用于 Heroku
- c - mingw 问题“stddef.h:没有这样的文件或目录”
- android-studio - Android Studio - 库版本冲突
- json - Swift 将密钥添加到本地 JSON 以保存复选标记