我试着跟随Virgil Dobjanschis'我的应用程序中的Designpattern。到目前为止一切正常,我可以将ContentProvider,IntentService与ListView耦合。
另外我使用SwipeRefreshLayout让用户向下滑动以从我的REST服务手动加载新数据(并存储在本地数据库中)。
但我也希望让用户向上滑动以从REST服务加载一些旧数据。我对这一点感到困惑:如何使用带有LoaderManager的ListView来向上滑动加载?
是否可以通过检查游标的结果在onLoadFinished()
方法中执行此操作?或使用SwipeRefreshLayout来收听Swipeup和SwipeDown事件?现在我只发现可以收听向下滑动的事件。
答案 0 :(得分:1)
你想要的可能就是所谓的"无限" /"懒惰负载"滚动列表。当用户到达列表末尾时,您应该从api中检索更多项目。 here 是如何实现它的示例。
答案 1 :(得分:0)
当用户位于列表末尾时,您必须执行REST调用。
有两种方法可以了解用户是否在最后。
一种方法是使用ScrollView
回调。它们不是专门为ListView
编写的。
另一种方法是使用Adapter
的{{1}}功能。当用户向下滚动时,getView
将逐个调用项目的位置。当该位置是最后一个项目时,您可以启动getView
来执行其操作。
您必须确保只启动一次IntentService。你可以有一面旗帜。