Android架构组件(LiveData):如何在更新文本视图后清除LiveData中的所有值

问题描述 投票:0回答:1

假设我创建了mutableLivedata变量(一个观察者),并通过它更新了一个textview,现在我希望清除一旦它更新textview时由livesata发送的值,就像我刚创建的Livedata变量及其初始阶段的新鲜,它没有任何价值。我怎样才能做到这一点?

谢谢

android android-architecture-components android-livedata mutablelivedata
1个回答
2
投票

你不会这样做的。

使用LiveData的主要原因之一是让其他组件能够观察到LiveData的内容。

例如,假设您使用LiveData来跟踪计数器被按下的次数。你使用TextView观察这个LiveData,这样你就可以在LiveData更新时显示计数器的数量。

这是LiveData的预期用途。

根据你想要做的事情,你将LiveData的内容设置为空的那一刻,观察到TextViewLiveData也将自我更新为空。

如果你想在LiveData中显示它的值后重置TextView,那么LiveData不适用于你打算做什么。

简单地使用String会更容易,更有效率。

编辑:

但是如果你仍然想要这样做,只要你的LiveDataMutableLiveData,你就可以使用setValue()方法来设置默认值。

© www.soinside.com 2019 - 2024. All rights reserved.