IllegalArgumentException:The observer is null的解決方法
ViewPager中包含的頁面如果有用到ListView。當(dāng)從ViewPage頁面退出應(yīng)用時(shí)報(bào)java.lang.IllegalArgumentException: The observer is null.錯(cuò)誤。這是因?yàn)?/p>
ViewPager在移除View時(shí)會調(diào)用ListView的unregisterDataSetObserver方法,而ListView本身也會調(diào)用該方法,所以在第二次調(diào)用時(shí)就會報(bào)“The observer is null”錯(cuò)誤。
解決辦法:
復(fù)寫ListView的Adapter的unregisterDataSetObserver方法,對空指針進(jìn)行判斷即可
1 |
@Override |
2 |
public void unregisterDataSetObserver(DataSetObserver observer) { |
3 |
if(observer != null){ |
4 |
super.unregisterDataSetObserver(observer); |
5 |
} |
6 |
} |





