Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 向上滑动以使用LoaderManager/CursorAdapter、ContentProvider和服务加载_Android_Listview_Android Listview_Swiperefreshlayout - Fatal编程技术网

Android 向上滑动以使用LoaderManager/CursorAdapter、ContentProvider和服务加载

Android 向上滑动以使用LoaderManager/CursorAdapter、ContentProvider和服务加载,android,listview,android-listview,swiperefreshlayout,Android,Listview,Android Listview,Swiperefreshlayout,我尝试在我的应用程序中遵循维吉尔·多布扬斯基的设计模式。到目前为止一切正常,我可以将ContentProvider、IntentService和ListView结合起来 此外,我使用SwipeRefreshLayout让用户向下滑动,从我的REST服务手动加载新数据(并存储在本地数据库中) 但我还想让用户向上滑动,从REST服务加载一些旧数据。我被这一点困住了:如何使用ListView和LoaderManager向上滑动以加载 是否可以通过检查游标的结果在onLoadFinished()方法中执

我尝试在我的应用程序中遵循维吉尔·多布扬斯基的设计模式。到目前为止一切正常,我可以将ContentProvider、IntentService和ListView结合起来

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

但我还想让用户向上滑动,从REST服务加载一些旧数据。我被这一点困住了:如何使用ListView和LoaderManager向上滑动以加载


是否可以通过检查游标的结果在
onLoadFinished()
方法中执行此操作?或者使用SwipeFreshLayout同时侦听Swipeup和SwipeDown事件?目前,我只发现可以监听“向下滑动”事件。

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

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

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

另一种方法是使用
适配器的
getView
函数。当用户向下滚动时,
getView
将根据项目的位置逐个调用。当职位是最后一项时,您可以启动
IntentService
来完成它的工作


您必须确保只启动一次IntentService。你可以有一面旗子

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

也谢谢Tasomaniac!使用getView()启动IntentService的这种方法听起来是另一个不错的选择。虽然这个库已经退役,但它是commonsguy提供的一个很棒的库,并且它使用getView方法。