每日一剂《适配器刷新报错》

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

翻译:

java.lang.IllegalStateException:适配器的内容已更改,但ListView未收到通知。 确保适配器的内容不会从后台线程修改,而只能从UI线程修改。 确保您的适配器在其内容更改时调用notifyDataSetChanged()。

异常的描述是不要在其他线程中修改listview的adapter数据而在ui线程中进行刷新notifyDataSetChanged()。我们一般为adapter添加数据时常常使用activity类内部的全局变量,这时在外部或其他线程中更新数据时,如果不及时刷新listview,就会抛出上述异常。

一般都是在清空数据源的时候没有实时更新适配器造成

其实解决很简单 请看

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

刷新的时候非空判断下就好

猜你喜欢

转载自my.oschina.net/u/3698786/blog/1818678
今日推荐