【发布时间】:2013-04-20 11:43:13
【问题描述】:
我有一个在我的列表视图中使用的数组适配器。通过从服务器获取或删除内容来定期更新适配器。我使用了一个调度的threadpoolexecutor来定期更新适配器,然后使用adapter.notifydatasetchange();
列表视图会刷新并删除任何项目等,但例如,如果当我在 android 上滚动列表视图并接近列表视图末尾时从列表中删除了两个项目,则应用程序崩溃。我猜列表视图中的某些内容没有更新,并且列表的大小是初始大小。
你有什么要推荐的吗?
问候, 阿里斯
大家好,
我实际上找到了解决问题的方法,但忘记在此处查看是否有任何回复。 谢谢大家的建议。 基本上调度的threadpoolexecutor调用了一个runnable(我们称之为updateRunnable)来进行更新。 我所做的是以下内容: 在 updateRunnable 中,当它获取新数据并将它们存储在数组适配器中时,它然后使用 runOnUiThread 调用另一个可运行对象(我们称之为 updateListView),并在 updateListView 中设置列表视图的适配器。 这解决了我的问题
【问题讨论】:
-
适配器可能有问题。确保在适配器中覆盖 getCount 以返回更新后的数据集大小
标签: android listview scheduled-tasks updating