【问题标题】:LiveData, is it possible to observe specific valueLiveData,是否可以观察特定值
【发布时间】:2022-01-16 14:37:28
【问题描述】:

我正在使用实时数据来同步同一视图上重复项目之间的数量变化。因此,如果有 7 个项目观察 qty 更新,并且其中 3 个具有相同的 id,如果其中一个被触发,即使其中 3 个应该被刷新,所有 7 个都将跟随。

我的问题是,是否可以订阅一个特定的值,而不是像主题订阅那样的整个字段,以便仅触发具有相同 id 的这 3 个项目

【问题讨论】:

    标签: android android-livedata


    【解决方案1】:

    当您观察 LiveData 时,您的侦听器将在每次更新时获取存储在 LiveData 中的对象的所有更新。无法告诉 LiveData 对于您想要哪些特定的嵌套值是“智能的”。

    如果您想将 LiveData 中的对象转换为满足您需求的不同对象,您可以使用Transformations.map() 根据您现在拥有的内容创建一个新的 LiveData。由您来确保代码仅在原始内容发生更改时才生成新的 LiveData 对象。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-29
      • 1970-01-01
      • 1970-01-01
      • 2018-05-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多