Не удается найти установщик, который принимает тип параметра ‘kotlinx.coroutines.flow.flow.MutableStateFlow’ Привязка данных Android

#android #kotlin #android-databinding #kotlin-stateflow

#Android #kotlin #android-привязка данных #kotlin-stateflow

Вопрос:

Я использую привязку данных для обработки MutableStateFlow в моей ViewModel

   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.flow.MutableStateFlow’

Но когда я использую LiveData, он работает нормально!

Комментарии:

1. Какую версию плагина Studio / Android Gradle вы используете? StateFlow поддерживается только в версии 7.0.0-alpha04 или выше в соответствии с документацией .

2. но последняя версия плагина — v6.8, вы можете увидеть ее здесь gradle.org/releases

3. Плагин Android Gradle отличается от самого Gradle.

4. Да, я проверяю это, но вам также необходимо обновить версию Android Studio до бета-версии, спасибо

5. Итак .. вы не обновились до минимальной версии плагина Android Gradle, который поддерживает StateFlow ? Как вы ожидаете, что это будет работать тогда?

Ответ №1:

Поток состояний поддерживается только в плагине Android Gradle версии 7.0.0-alpha04 или выше в соответствии с документацией.