4

我尝试搜索问题以查看是否有与我的问题类似的线程,但到目前为止还没有找到任何问题。这是我的问题:我有一个产品列表,其中包含存储在 SQLite 数据库中的约 10,000 个项目。在我的应用程序中,我需要从这个列表中搜索任何项目。我有几个选择:

  • 使用 autoCompleteTextView,预加载所有产品,当我输入产品名称时,列表会建议产品,因此我只需要从建议中进行选择。这是最简单的方法,但我觉得 10,000 个项目(甚至未来更多)会很重
  • 当我输入任何字符并单击搜索时,该应用程序将从数据库中选择所有产品,并将该字符作为过滤器。然后将结果集馈送到某个列表视图,以便我可以选择任何项目。这种方法将节省内存,因为应用程序不会将所有项目加载到内存中,而只会加载包含过滤字符的项目。

有没有更好的方法来做到这一点?谢谢

4

2 回答 2

4

你的第二个选择是最好的方法。它类似于您在输入查询时获取推荐搜索结果列表的方式。对您来说,假设您使用 asynctask 查询您的数据库,您可以收到由 onProgressUpdate 发出的正确加载消息

于 2011-10-20T03:46:46.447 回答
0

你能把物品分类吗?这样您就可以使用微调器选择类别,并使用 AutoCompleteTextView 键入和选择项目。

于 2011-10-20T04:21:34.773 回答