【发布时间】:2015-05-03 07:44:17
【问题描述】:
我正在尝试从列表视图和 sqlite 数据库中删除一个项目。这个网站上有几个问题,但我找不到合适的解决方案。我的问题与设计有关。我的意思是:Android 上的数据库访问应该以异步方式完成,以避免停止主线程。实际上,我当前的列表视图是使用 android Loader 加载的,它通知数据库上的任何操作并调用 onContentChanged()。问题是如何进行删除:最好的策略是什么?我看到了两种方式:
- 从适配器中删除,在其上调用
notifyDataSetChanged(),然后使用AsyncTask(或类似名称)从数据库中删除。将通知加载程序。在这种情况下,可能会出现刷新问题,因为适配器由于加载程序更新而再次更新。 - 使用 AsyncTask(或类似任务)删除项目并使用 Loader 等待更新。在这种情况下,问题是用户删除项目时 UI 没有更新,但稍后会被删除(如果没有发生错误),因此从用户的角度来看可能有点奇怪。
【问题讨论】:
标签: android sqlite listview android-listview