gpt4 book ai didi

android - 即使在调用 notifyDataSetCanged() 之后, ListView java.lang.IllegalStateException;

转载 作者:行者123 更新时间:2023-11-29 00:39:40 26 4
gpt4 key购买 nike

java.lang.IllegalStateException: 适配器的内容已经改变但是ListView没有收到通知。确保适配器的内容不是从后台线程修改的,而只是从 UI 线程修改的。

我的 ListView 包含大量数据

当列表中的数据更改时,我使用处理程序调用波纹管代码

  listviewAdapter.notifyDataSetChanged();

但我有时会遇到同样的错误,而不是每次我加载它时提前致谢

最佳答案

问题不是适配器更新的位置,应该是:适配器更新的时间

它看起来像:您绑定(bind)到适配器的数据已更改,并且 ui 已更新,所以这一次,系统发现数据已更改但无法调用 notifyDataSetChanged

因此,建议当您更改适配器的数据时,立即调用 notifyDataSetChanged

不要在你的线程中直接改变适配器的数据,你应该将数据发送给hanlder,并在handler中使用数据替换或改变适配器的数据和 notifyDataSetChanged

所以无论如何,建议获取数据可以在后台线程中运行,并更新数据,notifyDataSetChanged在ui线程中使用。

关于android - 即使在调用 notifyDataSetCanged() 之后, ListView java.lang.IllegalStateException;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10241765/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com