ViewPager 中包含的页面如果有用到ListView。当从ViewPage页面退出应用时报 java.lang.IllegalArgumentException: The observer is null.错误。这是因为
ViewPager 在移除View时会调用ListView的unregisterDataSetObserver方法,而ListView本身也会调用该方法,所以在第二次调用时就会报 The observer is null 错误。
解决办法:
复写 ListView的Adapter的unregisterDataSetObserver方法,对空指针进行判断即可
@Override
public void unregisterDataSetObserver(DataSetObserver observer) {
if(observer != null){
super.unregisterDataSetObserver(observer);
}
}