今天用到了网上的一个自定义的下拉刷新列表.然后程序莫名报下边的错误.
java.lang.IllegalArgumentException: The observer is null. at android.database.Observable.unregisterObserver(Observable.java:59) at android.widget.BaseAdapter.unregisterDataSetObserver(BaseAdapter.java:42) at android.widget.HeaderViewListAdapter.unregisterDataSetObserver(HeaderViewListAdapter.java:256) at android.widget.AbsListView.onDetachedFromWindow(AbsListView.java:2309) at android.view.View.dispatchDetachedFromWindow(View.java:8197) at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1968) at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:1966) at android.view.ViewGroup.removeViewInternal(ViewGroup.java:3257) at android.view.ViewGroup.removeViewInternal(ViewGroup.java:3237) at android.view.ViewGroup.removeView(ViewGroup.java:3185)
然后再戳戳找到了解决方法.
再adapter中重写方法:
@Override public void unregisterDataSetObserver(DataSetObserver observer) { if (observer != null) { super.unregisterDataSetObserver(observer); } }
还有一个问题就是这个listview的adapter进行notify不会进行刷新页面.
做了一下修改就OK了:
@Override protected void onAttachedToWindow() { super.onAttachedToWindow(); setSelection(1); }
没有调用父类方法.