#android-jetpack-compose
Вопрос:
Я использую подкачку в режиме просмотра, и подкачка возвращает поток
class WindViewModel : BaseViewModel() {
lateinit var windList : Flow<PagingData<Wind>>
fun getWindList(path: String) {
windList = Pager(PagingConfig(pageSize = 20)) {
WindSource(path, user.id)
}.flow.cachedIn(viewModelScope)
}
fun like(wind: Wind) {
}
}
Если мне нужно обновить поток подобным способом, как мне его обновить?
Ответ №1:
Вы можете попробовать использовать поток состояний для windList
, потому что он позволяет напрямую обновлять значение потока с .value
помощью свойства без необходимости использования области сопрограммы:
private val _windList: MutableStateFlow(Wind())
val windList: StateFlow<Wind> = _windList
а затем соответствующим образом обновите свой поток fun like(wind: Wind)
:
fun like(wind: Wind) {
_windList.value = windList.value.copy(##update changed properties here##)
}