簡體   English   中英

更新LiveData返回的對象屬性

[英]Updating object properties returned by LiveData

我有一個最佳實踐的問題,那就是更新LiveData從Room中獲取的對象的對象屬性。

當前,當我在活動中觸發觀察者時,我將返回的對象傳遞給視圖模型以保留引用,然后通過視圖模型中定義的設置器更新屬性,然后在Room中更新對象

我的問題是這被認為是最佳實踐,還是有更好的方法來實現?

我了解MutableLiveData,但這需要我獲取每個對象的屬性,更新它們,然后再轉售每個屬性,而我更喜歡僅獲取對象,更新並重新保存?

謝謝

只要從LiveData本身中檢索到的對象(我們稱其為對象A)不用作將來的參考對象,請確保該對象可以工作。

因此,如果執行以下操作,則是一個很好的解決方案:

  1. 活動動作
  2. ViewModel調用加載對象A
  3. 對象A放置在LiveData內部
  4. 在活動中觀察到LiveData
  5. 觀察到的對象A傳遞給函數ViewModel
  6. ViewModel中的函數更新對象A中的屬性
  7. 在ViewModel中將更新的對象A設置為對象B引用
  8. 當需要Object時,在ViewModel中引用對象B

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM