Android CWAC-Adapter : why registerDataSetObserver in Constr



正如标题所说,我很难理解registerDataSetObserverConstructor cwac-adapter中的用

 /**
  * Constructor wrapping a supplied ListAdapter
  */
  public AdapterWrapper(ListAdapter wrapped) {
    super();
    this.wrapped=wrapped;
    wrapped.registerDataSetObserver(new DataSetObserver() {
      public void onChanged() {
        notifyDataSetChanged();
      }
      public void onInvalidated() {
        notifyDataSetInvalidated();
      }
    });
  }

这不会创建对notifyDataSetChanged()的递归调用吗?

我的理解是,notifyDataSetChanged()会召集Adapter的所有注册观察员onChanged.因此,在onChanged()中调用notifyDataSetChanged()将创建递归调用。

我的理解是错误的吗?如果是,这里到底发生了什么?如果不是,有这样的递归调用有什么用?

您有两个适配器,我们称它们为 List 和 Wrapper。当您在列表中收到更改时,您会通知包装器。不再执行代码。

最新更新