下面列出了android.widget.BaseAdapter#registerDataSetObserver ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* 设置适配器
* @param adapter
*/
public void setAdapter(BaseAdapter adapter) throws NumberOverFlowException {
this.adapter = adapter;
if (adapter.getCount() > MAX_NUM) {
throw new NumberOverFlowException(adapter.getCount());
}
adapter.registerDataSetObserver(new DataSetObserver() {
@Override
public void onChanged() {
super.onChanged();
onDataSetChanged();
}
@Override
public void onInvalidated() {
super.onInvalidated();
onDataSetChanged();
}
});
initChild();
}
public ArticleCollectionPagerAdapter(Application app, BaseAdapter data, ToBlob toBlob, FragmentManager fm) {
super(fm);
this.app = app;
this.data = data;
this.count = data.getCount();
this.observer = new DataSetObserver(){
@Override
public void onChanged() {
count = ArticleCollectionPagerAdapter.this.data.getCount();
notifyDataSetChanged();
}
};
data.registerDataSetObserver(observer);
this.toBlob = toBlob;
}