我正在构建一个从JSON加载图像并将其显示为网格视图的应用程序。 问题是有数百个图像,我想每次加载20个, 当滚动到达底部时,我想从服务器下载更多图片。 那么,我怎么知道网格视图何时到达底部? 我在网上搜索过,无法想出这个......
有人有想法吗?
我正在添加一个应用程序的照片,它的功能与我想要的非常相似。 感谢。
答案 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
}
}