找不到接受参数类型'kotlinx.coroutines.flow.MutableStateFlow' DataBinding Android的setter

问题描述

我正在使用数据绑定来处理我的 viewmodel 中的 MutableStateFlow

  private val _searchSkeleton = MutableStateFlow(View.GONE)
  val searchSkeletonVis = _searchSkeleton

这是我在 XML 文件中的用法

  app:viewVisibility="@{viewmodel.searchSkeletonVis}"

这是我的 BindingAdapter

@BindingAdapter("app:viewVisibility")
fun bindViewVisibility(
    @NonNull view: View,@NonNull visibility: Int,) {
    view.visibility = visibility
}

它给了我这个错误

找不到接受参数类型'kotlinx.coroutines.flow.MutableStateFlow'的setter

但是当我使用 LiveData 时它运行良好!

解决方法

Stateflow 仅在 Android Gradle 插件版本 7.0.0-alpha04 或更高版本中受支持(根据 documentation)。