Android 向上滑动以使用LoaderManager/CursorAdapter、ContentProvider和服务加载
我尝试在我的应用程序中遵循维吉尔·多布扬斯基的设计模式。到目前为止一切正常,我可以将ContentProvider、IntentService和ListView结合起来 此外,我使用SwipeRefreshLayout让用户向下滑动,从我的REST服务手动加载新数据(并存储在本地数据库中) 但我还想让用户向上滑动,从REST服务加载一些旧数据。我被这一点困住了:如何使用ListView和LoaderManager向上滑动以加载Android 向上滑动以使用LoaderManager/CursorAdapter、ContentProvider和服务加载,android,listview,android-listview,swiperefreshlayout,Android,Listview,Android Listview,Swiperefreshlayout,我尝试在我的应用程序中遵循维吉尔·多布扬斯基的设计模式。到目前为止一切正常,我可以将ContentProvider、IntentService和ListView结合起来 此外,我使用SwipeRefreshLayout让用户向下滑动,从我的REST服务手动加载新数据(并存储在本地数据库中) 但我还想让用户向上滑动,从REST服务加载一些旧数据。我被这一点困住了:如何使用ListView和LoaderManager向上滑动以加载 是否可以通过检查游标的结果在onLoadFinished()方法中执
是否可以通过检查游标的结果在
onLoadFinished()
方法中执行此操作?或者使用SwipeFreshLayout同时侦听Swipeup和SwipeDown事件?目前,我只发现可以监听“向下滑动”事件。当用户在列表末尾时,您必须执行REST调用
有两种方法可以理解用户是否在最后
一种方法是使用ScrollView
回调。它们不是专门为ListView
编写的
另一种方法是使用适配器的getView
函数。当用户向下滚动时,getView
将根据项目的位置逐个调用。当职位是最后一项时,您可以启动IntentService
来完成它的工作
您必须确保只启动一次IntentService。你可以有一面旗子 您想要的可能是所谓的“无限”/“延迟加载”滚动列表。当用户到达列表的末尾时,您应该从api中检索更多项。是如何实现它的一个示例。也谢谢Tasomaniac!使用getView()启动IntentService的这种方法听起来是另一个不错的选择。虽然这个库已经退役,但它是commonsguy提供的一个很棒的库,并且它使用getView方法。