在该片段被破坏后,Listview位置被错误地恢复

时间:2013-07-12 11:29:37

标签: android listview android-viewpager fragment

我使用viewpager,里面有几个片段,大多数片段都是listview。我要检查其中一个。我试图用一些人建议的方法来计算无休止的滚动(因为我从外部数据库加载数据):

    if(position==getCount()-1){
        LoadMore(); 
    } 

因此,每当用户向下滚动到最后一个项目时,它就会向列表视图添加更多项目。让我们说,我轻扫,该片段被摧毁。过了一会儿我回去了,现在发生了什么?该片段已被破坏,因此OnCreateView()方法再次运行,现在只在listview中加载了原始数量的项目(10)。但是listview的位置在某种程度上是在最后(在10),现在我做的任何事情(再次向上和向下滚动)LoadMore()函数永远不会运行。 listview.getCount()再次为10,所以应该没问题。为什么会这样?为什么上面的代码在刷回之后永远不会运行?

谢谢!

1 个答案:

答案 0 :(得分:1)

因为列表是0索引的,所以不应该检查:

if(position==getCount()-1){ //check for the last item ?
    LoadMore(); 
}