gpt4 book ai didi

Android:从后台线程修改适配器内容

转载 作者:太空宇宙 更新时间:2023-11-03 13:38:21 25 4
gpt4 key购买 nike

我已经阅读了很多有关使用 BaseAdapter 时抛出的异常的信息,但我似乎找不到替代解决方案:确保你的适配器的内容没有被后台线程修改

我想要实现的是在内存中保留一个消息队列的副本,并使用这个消息队列来填充我的 ListView 的 BaseAdapter。我这样做的原因是即使 ListView 当前不存在(例如聊天窗口),消息队列也会继续从套接字获取消息。

当我的ActivityListView 在前台,BaseAdapter 绑定(bind)到消息队列的数据时,问题就来了,一条消息来了在 socket 中。将新消息加入队列会抛出上述异常。除非我用消息队列预先填充我的 BaseAdapter(就像在具有自己的消息队列的 BaseAdapter 中一样)并在收到新消息时更新它们,否则我真的找不到解决方法这个问题。

我真的不想像这样加倍努力使这 2 个队列保持最新状态,肯定有更好的方法吗?发送广播也不起作用,因为适配器服务滚动和调用 notifyDataSetChanged 时可能存在延迟。

最佳答案

使用 Handler 从主应用程序线程修改“消息队列”。

关于Android:从后台线程修改适配器内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3708177/

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