UI 不更新自定义对象列表的 MutableLiveData / ObservableField 属性 随数据绑定而变化

UI not updating on MutableLiveData / ObservableField of List of custom objects property change with data binding

我正在使用对象列表和数据绑定的 ObservableField 在 tablayout 中生成选项卡。经过一定的操作后,我必须更新选项卡。当我尝试更改列表项的 属性 时,UI 没有更新。下面是我的代码。

val tabsList = ObservableField<List<TabModel>>(getTabsList())

// setting the data
tabsList.get()?.first { it.isSelected }?.setPrice(price)

我也试过 MutableLiveData,还是不行。

感谢任何帮助。

我暂时找到了解决办法。也许这不是有效的方法,但它在我的场景中有效。下面是代码。

val updatedTabs = tabsList.get()
// setting the data
tabsList.get()?.first { it.isSelected }?.setPrice(price)
// setting a new list
tabsList.set(updatedTabs?.toList())