我有兩個活動,每個都有它的ViewModel,我需要讓第一個Activity實時資料觀察者在推送到新的時繼續運行Activity,當前發生的事情是在第二個啟動時Activity觀察者停止作業。
private fun observer() {
viewModel.myData.observe(this, {
when (it) {
it -> {
it.let {
val intent = Intent(Events.DATA_EVENT.value)
intent.putExtra("data", it)
LocalBroadcastManager.getInstance(this).sendBroadcast(intent)
}
}
}
})
}
我怎樣才能總是先觀察新資料Activity?
uj5u.com熱心網友回復:
你可以使用observeForever(Observer)方法。通過添加的觀察者observeForever(Observer)被視為始終處于活動狀態,因此將始終收到有關修改的通知。對于那些觀察者,您應該手動呼叫removeObserver(Observer). 在Activity:
val observer = Observer<String> { // use your data class instead of String generic type
// ...
}
// in onCreate() method
viewModel.myData.observeForever(observer)
// in onDestroy() method
viewModel.myData.removeObserver(observer)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/409902.html
標籤:
上一篇:Androidcompose-模塊化應用程式設計-如何管理主題?
下一篇:在API中使用setRequiredPasswordComplexity(passwordComplexity:Int)小于31
