如何观察变化对象科特林

时间:2020-08-21 08:35:40

标签: android kotlin

我在对象中具有RecyclerView及其元素。如果列表更新,我想更新recyclerView。如何观察列表的变化?

BasketStorage

object BasketStorage {
    var listOfBasket:List<ServicesBasketModel> = listOf()
}

1 个答案:

答案 0 :(得分:1)

如果您使用的是Androidx,则可以将var保存在LiveData实例中,并使RecyclerView / Adapter对其进行观察。

object BasketStorage {
    val listOfBasket = LiveData<List<ServicesBasketModel>>(listOf())
}

在RecyclerView / Fragment代码中,您可以按照以下步骤进行观察

BasketStorage.listOfBasket.observe(viewLifecycleOwner, Observer {
    // Do something upon change
})

如果您需要可变性,请查看MutableLiveData。如果要从数据库中获取列表,则可以使用Room为您返回一个LiveData实例。

相关问题