我使用viewpager,里面有几个片段,大多数片段都是listview。我要检查其中一个。我试图用一些人建议的方法来计算无休止的滚动(因为我从外部数据库加载数据):
if(position==getCount()-1){
LoadMore();
}
因此,每当用户向下滚动到最后一个项目时,它就会向列表视图添加更多项目。让我们说,我轻扫,该片段被摧毁。过了一会儿我回去了,现在发生了什么?该片段已被破坏,因此OnCreateView()
方法再次运行,现在只在listview中加载了原始数量的项目(10)。但是listview的位置在某种程度上是在最后(在10),现在我做的任何事情(再次向上和向下滚动)LoadMore()
函数永远不会运行。 listview.getCount()
再次为10,所以应该没问题。为什么会这样?为什么上面的代码在刷回之后永远不会运行?
谢谢!
答案 0 :(得分:1)
因为列表是0索引的,所以不应该检查:
if(position==getCount()-1){ //check for the last item ?
LoadMore();
}