[lottery] 06_在ViewPager用removeAllViews()时出现的问题

Android 4.0

Android使用ViewPager导致java.lang.IllegalArgumentException: The observer is null.

Android使用ViewPager导致java.lang.IllegalArgumentException: The observer is null.
问题:
java.lang.IllegalArgumentException: The observer is null.
Android 4.0.3, 调用mFrameLayout.removeAllViews();出现此错误; Android 2.3.3正常; 有待研究!

我的ViewPager中包含了四个页面,每个页面都有用到ListView。当从ViewPage页面退出应用时报java.lang.IllegalArgumentException: The observer is null.错误。
经调研发现有大神说ViewPager在Android4.0上有兼容性错误
ViewPager在移除View时会调用ListView的unregisterDataSetObserver方法,而ListView本身也会调用该方法,所以在第二次调用时就会报“The observer is null”错误。
解决办法:
复写ListView的Adapter的unregisterDataSetObserver方法,对空指针进行判断即可
@Override
    public void unregisterDataSetObserver(DataSetObserver observer) {
        if(observer != null){
            super.unregisterDataSetObserver(observer);
        }
    }