MutableLiveData与LiveData区别

2022-08-16  本文已影响0人  Kael_Zhang的安卓笔记

MutableLiveData的作用

LiveData 设计之初应该是为了 view 和 viewmodel 之间的通信,MutableLiveData是LiveData 的子类,viewmode有若干MutableLiveData,view则监听这些 MutableLiveData来刷新UI,这也是mvvm的基础思想

MutableLiveData与LiveData区别

view 通过持有viewmodel对象,注册监听MutableLiveData,那MutableLiveData必须是对view暴露,否则不能访问还监听个毛线,那既然可以访问,那就可以调用MutableLiveData的方法,包括post等方法,但这并不是我们想要的结果,view除了监听MutableLiveData,不应该做别的事情,这个时候LiveData 就体现了它的作用

用法

    val x: LiveData<T> get() = _x //对外暴露为LiveData
    private val _x = MutableLiveData<T>() //对内使用 MutableLiveData 操作
上一篇 下一篇

猜你喜欢

热点阅读