Android - 我怎么知道gridview何时到达底部?

时间:2013-11-28 23:53:28

标签: android gridview android-listview pull-to-refresh

我正在构建一个从JSON加载图像并将其显示为网格视图的应用程序。 问题是有数百个图像,我想每次加载20个, 当滚动到达底部时,我想从服务器下载更多图片。 那么,我怎么知道网格enter image description here视图何时到达底部? 我在网上搜索过,无法想出这个......

有人有想法吗?

我正在添加一个应用程序的照片,它的功能与我想要的非常相似。 感谢。

2 个答案:

答案 0 :(得分:26)

您可以将setOnScrollListener用于GridView。

以下是代码示例:

gridView.setOnScrollListener(new OnScrollListener(){
    @Override
    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount)
       {
        if(firstVisibleItem + visibleItemCount >= totalItemCount){
            // End has been reached
        }
    }

    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState){

    }
});

答案 1 :(得分:0)

这是我的解决方案,您可能想简单地覆盖onOverScrolled方法:

@Override
protected void onOverScrolled(int scrollX, int scrollY, boolean clampedX, boolean clampedY) {
    super.onOverScrolled(scrollX, scrollY, clampedX, clampedY);

    View view = (View) getChildAt(getChildCount()-1);
    int diff = (view.getBottom()-(getHeight()+getScrollY()));

    if(diff==0) {
           //overscroll on bottom
       } else {
           //overscroll on top
       }    
}