mutableelvedata switchMap从未被调用



我试图更新我的列表mutableelivedataswitchMap ()问题是,即使我发布新值到LiveDataswitchMap ()从不叫。

下面是我如何更新mutableelivedataFrom my:

viewModel.getProductListingById(queryModelId)

getProductListingById ()viewModel中的实现:

fun getProductListingById(newQueryModelId: ProductListingQueryModelId) {
queryModelId.postValue(newQueryModelId)
}
下面是我如何定义queryModelId:
private val queryModelId = MutableLiveData<ProductListingQueryModelId>()

最后是switchMap():

val productListingId = queryModelId.switchMap { query ->
//This log statement never called
Log.e("ProductViewModel ","id =${query.id}")
productListingRepo.getProductListingById(query.id.toInt(), query.body).cachedIn(viewModelScope)
}

最后我找到了问题,你必须确保你观察你的LiveData在你的ui中所以在我的例子中val productListingId在我的UI中添加观察者后,从来没有观察到每件事都像预期的那样工作。

相关内容

  • 没有找到相关文章

最新更新