在我的应用程序中,我有一个不断从我的服务器进行更新的后台模型(某种数据库)。
我的问题是我有各种适配器会根据此模型更新其数据。
每次更新模型时,我都会向活动发送广播,以便它们通知适配器(notifyDataSetChanged)。
90%的时间可以完美地工作,其他10%的时间通常是在UI线程非常努力地工作(实例的onActivityResume)时,当线程有很多UI需要更新时-我收到以下错误:

“线程:主要,例外:适配器的内容已更改,但ListView尚未收到通知。...确保未从后台线程修改适配器的内容,而仅从UI线程修改了适配器的内容。”

我的问题是:使用适配器和维护需要从后台线程更新的某种数据库的最佳实践是什么?

10倍

最佳答案

确保您正在从UI线程调用notifyDataSetChanged
确保仅从UI线程更新适配器的内容。


您可以使用UI Handler线程及其消息队列,以便使用其他后台线程中的UI线程将更新发布到数据模型中。此处更多详细信息Android Handlers

07-28 01:25
查看更多