我在我的应用程序中使用 liveData。我做了一个数据库查询,它返回一个LiveData<PagedList<Contact>>
存储在数据库中的联系人。
我想在将其提供给观察者之前修改此实时数据。假设 LiveData 列表中有十个联系人,我想与另一个列表进行一些比较,并设置 LiveData 列表中的主要联系人。
完成此操作后,我想将其提供给观察者。
例如 -
val allContacts: LiveData<PagedList<Contact>> = getFromDB()
val list: ArrayList<String>() = list of some primary contacts
遍历allContacts
andlist
并设置 中的哪些值allContacts
与 中的值匹配list
。无论哪个值allContacts
匹配,它们的isPrimary
属性都将设置为 true。
现在修改后allContacts
,我想将其提交给观察者,例如:
allContacts.observe(this, Observer(adapter::submitList))
我尝试了 LiveData.transform,但无法正确使用它。谁能建议我如何使用转换方法或其他方式来实现它。