[英]MVVM from where I should subscribe with Rx?
我來自MVP
模式,現在我使用MVVM
模式和RXJava來完成某些功能,例如在地圖上顯示當前位置。 為此,我在MV中訂閱了Disposable
,我將獲得一個Location
:( t
是我的位置)
val subscription = locationProvider.lastKnownLocation
.subscribe(Consumer { t -> updateLocationMap(t) })
我的問題是我應該同意這個Disposable
在我View
? 因為我看到無法在View
實例化ViewModel
,並且知道我不知道如何使用此Location
對象。
這是一個例子
在Viewmodel中創建一個變量
val LocationLiveData = MutableLiveData<Location>()
下面的代碼應該在viewmodel中
disposable = locationProvider.lastKnownLocation
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe{location ->
LocationLiveData.postValue(location)
}
之后,在View(Activity)中
viewmodel.LocationLiveData.observe(this, { t: Location? ->
//use this updated location
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.