【发布时间】:2010-12-15 04:14:59
【问题描述】:
对于我正在开发的应用程序,我遇到了以下问题。我有一个列表视图,它应该显示来自数据库表的数据。可能会发生两种情况:
- 场景一 - 数据库表动态填充,列表视图还应动态显示表的信息,例如根据表大小增长。
- 场景二 - 表格已经填满,列表视图必须只显示内容
所以问题是如何使用 ListView 和 ListAdapter 来完成这个行为。
到目前为止,我对每种情况都有解决方案,但两者都没有。
- 场景一 - 使用 AsyncTask 和 ArrayAdapter。在 doInBackGround 中定期查询数据库并将结果传递给 onProgressUpdate,而不仅仅是用新添加的值填充 ArrayAdapter。但是当场景二出现时,我查询所有表而不是一步将所有值复制到 ArrayAdapter,这非常慢。
- 方案二 - 再次查询数据库,只需使用 CursorAdapter。但在这种情况下,我无法使用 CursorAdapter 动态更新 ListView。
那么任何想法如何使用一个适配器来实现这一点,或者我应该根据情况使用 ArrayAdapter 和 CursorAdapter 吗?
【问题讨论】:
标签: android