zoukankan      html  css  js  c++  java
  • 不关联生命周期的 observeForever 方法。

    LiveData.java
    ------------------------------
    @MainThread
    public void observeForever(@NonNull Observer<? super T> observer) {
    assertMainThread("observeForever");
    AlwaysActiveObserver wrapper = new AlwaysActiveObserver(observer);
    ObserverWrapper existing = mObservers.putIfAbsent(observer, wrapper);
    if (existing != null && existing instanceof LiveData.LifecycleBoundObserver) {
    throw new IllegalArgumentException("Cannot add the same observer"
    + " with different lifecycles");
    }
    if (existing != null) {
    return;
    }
    wrapper.activeStateChanged(true);
    }

    private class AlwaysActiveObserver extends ObserverWrapper {

    AlwaysActiveObserver(Observer<? super T> observer) {
    super(observer);
    }

    @Override
    boolean shouldBeActive() {
    return true;
    }
    }
    MutableLiveData 继承自 LiveData,把setValue(T) 和 getValue(T) 方法public公开了。


    ————————————————

  • 相关阅读:
    CSS
    表单
    框架
    表格
    列表
    定位--position属性
    浮动
    选择结构
    数组
    TextView(标签控件)
  • 原文地址:https://www.cnblogs.com/hyhy904/p/11384643.html
Copyright © 2011-2022 走看看