#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 или выше в соответствии с документацией.