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