0

给你一些背景:

我让用户在搜索操作视图中输入。在文本框的每个更改事件之后,我想使用通用 API 访问 Web,并listview使用 Endless Adapter 显示返回的数据。

目前我使用检索数据cacheInBackground(),然后使用appendCachedData().

但是,如果用户打字速度很快,我想取消当前正在运行的任务,以便开始新的任务。当前,旧任务正在运行appendCachedData()并将旧结果放入其中,listview因为 API 调用可能需要一两秒才能返回数据,但用户输入速度非常快。

以正确的方式执行此操作的推荐操作是什么?

4

1 回答 1

0

以正确的方式执行此操作的推荐操作是什么?

恕我直言,“推荐的行动”是不要这样做:

在文本框的每个更改事件之后,我想使用通用 API 访问 Web,并使用 Endless Adapter 在列表视图中显示返回的数据

任何一个:

  • 将所有数据保存在设备上,这样您就可以过滤 sans `EndlessAdapter,或者
  • EndlessAdapter仅在积极的用户操作(例如,单击搜索图标)上执行网络 I/O 和内容
于 2013-03-07T11:42:17.820 回答