【发布时间】:2018-05-03 06:07:03
【问题描述】:
我正在获取联系人,这项工作进展顺利。但我也尝试显示 50 个已获取的联系人,即用户不必等到所有联系人都已获取。 我尝试使用 Asynctask 和 Thread ,但是当我去通知列表适配器时,错误来了。
"适配器的内容发生了变化但是ListView没有收到 通知。确保您的适配器的内容没有被修改 来自后台线程,但仅来自 UI 线程。确保您的 适配器在其内容更改时调用 notifyDataSetChanged()"
【问题讨论】:
-
您从哪里获取您的联系人?您总共有多少联系人?
-
来自 Android 数据库。我有 8000 个联系人但我解决了问题实际上,如果您在 UI 线程中通知列表,您必须在 UI 线程中添加集合(列表)添加,这对我来说很尴尬。 stackoverflow.com/questions/3132021/…
-
只需使用 google 的 paging 支持库 - 无需重新发明轮子
标签: android multithreading android-asynctask lazy-loading contacts