我目前正在使用我认为是Android中的常见模式,使用各种AsyncTasks从网络获取数据,以及使用接口回调机制在完成时更新简单的ArrayAdapter。
cwac-endless相当容易插入以添加分页类型滚动,除了它假定它将处理为您运行后台任务的基本问题。这是否意味着我基本上必须撕掉我所有的AsyncTask类和相关接口,并将所有代码从doInBackground移动到我的EndlessAdapter的cacheInBackground中?
我尝试过的大多数解决方案似乎最终都复制了cwac中已有的大部分代码,所以我觉得在现有的AsyncTask中使用这个适配器必须有更清晰的解决方案吗?
答案 0 :(得分:0)
cwac-endless相当容易插入以添加分页类型滚动,除了它假定它将处理为您运行后台任务的基本问题
处理“为您运行后台任务”是适配器背后的重点。
这是否意味着我基本上必须删除所有AsyncTask类和相关接口,并将doInBackground中的所有代码移动到我的EndlessAdapter的cacheInBackground中?
如果您希望使用EndlessAdapter
,请确定。
我们当然欢迎您抓住代码,修改getView()
以不使用自己的executeAsyncTask
和AppendTask
,并将此逻辑替换为您自己的代码。但是,AppendTask
中的每一行代码都是EndlessAdapter
工作所必需的。而且我不知道任何无限构造如何与“自定义AsyncTasks”复数一起使用,因为必须清楚地结束工作,以便我们知道在列表中显示新行并获得摆脱待定的View
。因此,你仍然需要指定一些AsyncTask
你的AppendTask
扮演角色,做你正在做的所有事情和 {{1}中的所有逻辑}}。这是否比仅使用现有的AppendTask
代码库更简单,我不能说,因为我不知道你的代码。
我觉得将此适配器与自定义AsyncTasks一起使用必须有更清晰的解决方案吗?
你是第一个提出这个问题的人,因此我在输入这个答案之前从未考虑过。我会考虑一下并may try to do some refactoring来帮助你的方案。