游戏的Android列表设计问题

时间:2010-04-26 08:32:02

标签: android listview filter cursor

我的Android应用程序中存在以下情况。

  1. 我有一个应用程序可以从收件箱中提取邮件,根据搜索关键字发送项目和草稿。我通过根据用户的选择手动为每个游标获取游标,然后在自定义数据持有者对象中填充游标来实现此目的。根据给定的关键字过滤这些结果,然后使用相应的数据手动呈现视图。
  2. 有人建议我应该使用自定义Cursor适配器来绑定视图和我的光标数据。所以我试着这样做。现在我正在做的是:

    1. 获取收件箱,发送的项目和草稿的单个游标。使用Merge游标将它们合并为一个,然后将其传递回我的CursorAdapter实现。
    2. 现在我在哪里或如何根据关键字过滤我的光标数据;因为现在绑定将确保它们直接呈现在列表中查看。此外,一些帖子提取操作,如获取发件人的联系人pic和所有将是我不想移动到适配器的东西。如果我在适配器中完成所有这些处理;它会很沉重和丑陋。
    3. 我怎样才能更好地设计它,使其执行并分担和分配责任。

      任何想法都会有所帮助。

1 个答案:

答案 0 :(得分:1)

使用游标和适配器在大多数情况下效果不佳。我们的经验导致了不同的技术。

您最好的选择是将AsyncTask中的游标“抽”到ArrayList<data-holding object>,然后您可以进行处理,然后根据需要使用Collections.sort()和{{对该列表进行排序1}}您自己的构造,然后使用Comparator来显示结果列表。这会尽快释放游标并在执行此操作时保持在UI线程之外,您可以根据自己的喜好进行排序。

请记住始终在后台处理并避免ANR!

我们在所有应用程序(市场上的14个)中使用它,它就像Butter一样。