首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    LiveData详细分析

    b.如何做到感知生命周期的,怎么跟 LifecycleOwner 进行绑定的? c.LiveData 只在 LifecycleOwner active 状态发送通知,是怎么处理的?...f.为什么观察者只能与一个LifecycleOwner绑定,而不是多个?...setValue ——> dispatchingValue(null) ——> considerNotify(注意,这里是个for迭代器循环,表示通知所有观察者) ——> onChanged 09.observeForever...看一下源代码 将给定的观察者添加到观察者列表中,意味着给定的观察者将接收所有事件,并且永远不会被自动删除,不管在什么状态下都能接收到数据的更改通知@MainThread public void observeForever...但是不发送通知,等 owner 回到 active 的状态下,再发送通知; 使用observeForever()方法,会注意AlwaysActiveObserver对象,意味着给定的观察者将接收所有事件,并且永远不会被自动删除

    2.9K00

    Android从零开始搭建MVVM架构(4)——LiveData

    2.创建一个定义了onChanged()方法的Observer对象,当LiveData对象保存的数据发生变化时,onChanged()方法可以进行相应的处理。...observe()方法还需要一个LifecycleOwner对象作为参数。 Observer对象订阅了LiveData对象,便会在数据发生变化时发出通知。...注意:可以使用observeForever(Observer)方法注册一个没有关联LifecycleOwner对象的Observer。...当你更新LiveData对象中存储的数据时,所有注册了的Observer,只要所绑定的LifecycleOwner处于活动状态,就会被触发通知。...setInput(String address) { addressInput.setValue(address); } } 在这种情况下,postalCode字段是公开的和最终的,因为该字段永远不会改变

    2.4K30
    领券