【问题标题】:Jetpack Compose ViewModel Updae FlowJetpack Compose ViewModel 更新流程
【发布时间】:2021-10-05 21:09:44
【问题描述】:

我在ViewMode中使用Paging,Paging返回Flow


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) {

    }

}

如果需要用like方法更新Flow,如何更新?

【问题讨论】:

    标签: android-jetpack-compose


    【解决方案1】:

    您可以尝试为 windList 使用 StateFlow,因为它允许您直接使用 .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##)
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-11-03
      • 1970-01-01
      • 2021-08-31
      • 2022-08-13
      • 1970-01-01
      • 2022-09-27
      • 2022-11-04
      相关资源
      最近更新 更多