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