正如标题所说,我很难理解registerDataSetObserver
in the Constructor
ofcwac-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()
将调用onChanged
所有注册的观察者Adapter
。因此,调用notifyDataSetChanged()
将onChanged()
创建递归调用。
我的理解错了吗?如果是的话,这里到底发生了什么?如果不是,那么进行这种递归调用有什么用?