Android:UI不会在MutableSet MutableLiveData上进行数据绑定时刷新

时间:2019-06-09 05:00:05

标签: android kotlin

这是我的XML:

android:textColor="@{viewModel.daysSet.contains(viewModel.days.mon) ? @color/selectedText : @color/black }"

查看模型:

val daysSet = MutableLiveData<MutableSet<Days.Day>>().apply {
        value = HashSet<Days.Day>()
    }

每当daysSet更改时,UI都不会更改。我也做过

binding.setLifecycleOwner(viewLifecycleOwner)

添加到集合中

fun evalDaySet(day: Days.Day):String {
        val daysSet = daysSet.value
        testText.value=true
        if (!daysSet!!.contains(day)) {
            daysSet.add(day)
            return "Add"
        } else {
            daysSet.remove(day)
            return "Remove"
        }
    }

它只是不刷新。但是,该集合肯定是添加的,并且它会在重新创建视图时设置颜色。不会将更改通知绑定。 MutableSet似乎有问题。是否有另一种数据结构可以实现此目标? Maps是否可以实现这一目标? 它说他们在这里“受支持”: https://developer.android.com/topic/libraries/data-binding/expressions#collections

0 个答案:

没有答案