2

我尝试在我的应用程序中遵循 Virgil Dobjanschis 的设计模式。到目前为止一切正常,我可以将 ContentProvider、IntentService 与 ListView 结合起来。

另外,我使用 SwipeRefreshLayout 让用户向下滑动以从我的 REST 服务手动加载新数据(并存储在本地数据库中)。

但我也想让用户向上滑动以从 REST 服务加载一些旧数据。我陷入了这一点:如何使用 ListView 和 LoaderManager 向上滑动加载?

是否可以onLoadFinished()通过检查游标的结果在方法中做到这一点?或者使用 SwipeRefreshLayout 来监听 Swipeup 和 SwipeDown 事件?现在我只发现可以收听向下滑动事件。

4

2 回答 2

1

您想要的可能是所谓的“无限”/“延迟加载”滚动列表。当用户到达列表的末尾时,您应该从 api 检索更多项目。是一个如何实现它的示例。

于 2014-12-24T08:38:28.750 回答
0

当用户位于列表末尾时,您必须执行 REST 调用。

有两种方法可以了解用户是否在最后。

一种方法是使用ScrollView回调。它们不是专门为ListView.

另一种方法是使用你AdaptergetView功能。当用户向下滚动时,getView与item的位置一一调用。当位置是最后一项时,您可以开始IntentService做它的事情。

您必须确保只启动一次 IntentService。你可以为此设置一个标志。

于 2014-12-24T08:20:13.300 回答