0

我目前正在使用我认为是 Android 中的一种常见模式,即使用各种 AsyncTask 从网络获取数据,并使用接口回调机制在完成时更新一个简单的 ArrayAdapter。

cwac-endless 很容易插入以添加分页类型滚动,除了它假设它将为您处理运行后台任务的基本问题。这是否意味着我基本上必须撕掉我所有的 AsyncTask 类和关联的接口,并将所有代码从 doInBackground 移动到我的 EndlessAdapter 的 cacheInBackground 中?

我尝试过的大多数解决方案似乎最终都会复制 cwac-endless 中已经存在的大部分代码,所以我觉得必须有更清洁的解决方案来将此适配器与现有的 AsyncTask 一起使用?

4

1 回答 1

0

cwac-endless 相当容易插入以添加分页类型滚动,除了它假设它将为您处理运行后台任务的基本问题

处理“为您运行后台任务”是适配器背后的大部分内容。

这是否意味着我基本上必须撕掉我所有的 AsyncTask 类和关联的接口,并将所有代码从 doInBackground 移动到我的 EndlessAdapter 的 cacheInBackground 中?

如果您想按原样使用EndlessAdapter,是的。

当然欢迎您获取代码,修改getView()为不使用它自己的代码executeAsyncTaskAppendTask用您自己的逻辑替换该逻辑。然而,几乎每一行代码都是工作AppendTask所必需的EndlessAdapter。而且我不知道任何无休止的构造如何与“custom AsyncTasks”复数一起工作,因为工作必须有一个明确的结束,以便我们知道在列表中显示新行并摆脱pending View。因此,您仍然需要指定AsyncTask您的一些角色扮演角色AppendTask,做您目前正在做的所有事情以及AppendTask. 这是否比仅使用现有EndlessAdapter代码库更简单,我不能说,因为我不知道您的代码。

我觉得必须有更清洁的解决方案才能将此适配器与自定义 AsyncTasks 一起使用?

你是第一个提出这个问题的人,因此在输入这个答案之前我从未考虑过它。我会考虑一下,并可能会尝试进行一些重构以帮助您解决方案。

于 2012-07-17T10:22:27.333 回答