Android报错:The content of the adapter has changed...与Channel is unrecoverably broken and will be disposed的分析与解决办法
在Android中adapter错误:
The content of the adapter has changed but ListView did not receive a notification. Make sure the content of your adapter is not modified from a background thread, but only from the UI thread。
分析:
这个错误通常是listview等控件在使用adapter适配数据时可能传入的是一个静态的list,而在adapter中直接使用=号来赋值,当外部这list被改变(如多线程操作了这个list)后没有及时的调用adapter的notifyDataSetChanged,导致下次来更新的时候报错。
解决:
在adapter中不要直接用=号来赋值,使用如下两种方法重新分配内存:
1:list.clear ,list.addall。
2:arraylist.clone。
------------------------------------------------------------------------
Android错误:Channel is unrecoverably broken and will be disposed!
分析:
在使用某些方法时传入的参数有问题或格式错误。如:Integer.parseInt("")
解决:
找到导致问题的地方,先做判断再传值。