Android - how can i know when gridview has reached the bottom?

筅森魡賤 提交于 2019-11-30 12:20:34
gahfy

You can use setOnScrollListener to your GridView.

Here is the code example:

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){

    }
});

And here is my solution, You may want to simply override the onOverScrolled method :

@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
       }    
}
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!