gpt4 book ai didi

java - 更新 LiveData 返回的对象属性

转载 作者:太空宇宙 更新时间:2023-11-04 10:33:48 25 4
gpt4 key购买 nike

我对更新 LiveData 从 Room 获取的对象的对象属性的最佳实践有疑问。

当前,当我的观察者在我的 Activity 中被触发时,我获取返回的对象并将其传递回 View 模型以保留引用,然后通过 View 模型中定义的 setter 更新属性,然后更新 Room 中的对象

我的问题是这被认为是最佳实践还是有更好的方法来实现这一目标?

我了解 MutableLiveData,但这需要我获取每个单独的对象属性,更新它们,然后转售每个属性,而我更愿意只获取对象,更新它并重新保存?

谢谢

最佳答案

只要从 LiveData 本身检索的对象(我们称之为对象 A)不用作 future 的引用对象,就肯定可以工作。

因此,如果您执行以下操作,这是一个很好的解决方案:

  1. Activity 操作
  2. ViewModel 调用加载对象 A
  3. 对象 A 放置在 LiveData 内
  4. 在 Activity 中观察到 LiveData
  5. 观察到的对象 A 被传递给函数 ViewModel
  6. ViewModel 中的函数更新对象 A 中的属性
  7. 更新后的对象 A 设置为 ViewModel 中的对象 B 引用
  8. 当需要Object时,在ViewModel中引用Object B

关于java - 更新 LiveData 返回的对象属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49701201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com