LiveData
LiveData是一個可以持有數據的類,數據可以被觀察,當數據更新時會通知觀察者接收最新的數據來處理UI資料的更新,核心就是Lifecycle當頁面結束後會自動取消觀察,所以可以不用去處理生命週期來防止記憶體流失。
MutableLiveData<T>():創建可變動的LiveData
observe:更新數據(要監聽的LifecycleOwner,資料更新後回傳的資料)
setValue:主線程中調用
postValue:子線程中調用
val myLiveData = MutableLiveData<String>()
myLiveData.observe(this, Observer {
info.text = it
})
info.setOnClickListener {
myLiveData.value = "Jetpack"
}