每日一劑《適配器刷新報錯》

java.lang.IllegalStateException: The content of the adapter has changed but ListView did not receive a notification.java

翻譯:ui

java.lang.IllegalStateException:適配器的內容已更改,但ListView未收到通知。 確保適配器的內容不會從後臺線程修改,而只能從UI線程修改。 確保您的適配器在其內容更改時調用notifyDataSetChanged()。spa

異常的描述是不要在其餘線程中修改listview的adapter數據而在ui線程中進行刷新notifyDataSetChanged()。咱們通常爲adapter添加數據時經常使用activity類內部的全局變量,這時在外部或其餘線程中更新數據時,若是不及時刷新listview,就會拋出上述異常。線程

通常都是在清空數據源的時候沒有實時更新適配器形成翻譯

其實解決很簡單 請看it

if(adapter!=null){
    adapter.notifyDataSetChanged();
}

刷新的時候非空判斷下就好io

相關文章
相關標籤/搜索