java.lang.IllegalStateException:适配器的内容发生了变化,但ListView控件没有收到通知。 确保您的适配器的内容不是从后台线程修改,但只能从UI线程。
我的列表视图蕴含着巨大data`s
现在用处理器调用娄代码当数据在列表中被改变
listviewAdapter.notifyDataSetChanged();
但我得到了同样的错误有时,而不是每次我打开它在此先感谢
java.lang.IllegalStateException:适配器的内容发生了变化,但ListView控件没有收到通知。 确保您的适配器的内容不是从后台线程修改,但只能从UI线程。
我的列表视图蕴含着巨大data`s
现在用处理器调用娄代码当数据在列表中被改变
listviewAdapter.notifyDataSetChanged();
但我得到了同样的错误有时,而不是每次我打开它在此先感谢
问题不在于其中适配器更新 ,它应该是: 时间适配器更新 。
它看起来喜欢:您的数据绑定到适配器已被改变,并且UI都进行更新,所以这个时候,系统发现改变了数据,但不能调用notifyDataSetChanged
。
所以,建议当您更改适配器的数据,调用notifyDataSetChanged
立即,
要么
不直接改变你的线程适配器的数据,则应该将数据发送到hanlder
,并在handler
使用的数据替换或更改适配器的数据和notifyDataSetChanged
。
所以,无论如何,建议得到数据可以在后台线程中运行,并更新数据, notifyDataSetChanged
在UI线程中使用。
错误是很清楚的。 你有没有打电话给listviewAdapter.notifyDataSetChanged();
从UI线程的线程不同。
修改runOnUIThread(适配器的参数),或使用一个处理程序来通知该数据集已更改适配器。