我正在使用AsynTaskLoader和Matrixcursor的Loader实现。还实现了分页列表视图。当用户滚动时,我会使用restartloader函数;但它会丢弃当前数据并重新启动加载整个列表并重新加载它们。
使用SQL的LIMIT关键字获取数据。每次我使用重载函数LIMIT值增加10.因此,每次我使用restartloader函数时,它会丢弃它所有的并重新加载丢弃的内容和另外10个。
我觉得我可以加起来当前的matrixcursor。这是不好的实施?有没有更好的方法来做到这一点?提前谢谢。
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
if (firstVisibleItem + visibleItemCount == totalItemCount && totalItemCount != 0) {
getSupportLoaderManager().restartLoader(0, loadMoreItemsToList(), callbacks);
}
}
这是loadMoreItemsToList函数:
Bundle loadMoreItemsToList(){
isLoadingItems = true;
itemCountInList += 10;
bundle.putInt("ItemCount", itemCountInList);
return bundle;
}