boolean isLastRow = false;
listview.setOnScrollListener(new OnScrollListener() {
//onScrollStateChanged在listview状态改变时被调用,可以用来获取当前listview的状态:空闲SCROLL_STATE_IDLE 、滑动SCROLL_STATE_TOUCH_SCROLL和惯性滑动SCROLL_STATE_FLING
@Override
public void onScrollStateChanged(AbsListView view, int paramInt) {
//SCROLL_STATE_IDLE当屏幕停止滚动时为0;
//SCROLL_STATE_TOUCH_SCROLL当屏幕滚动且用户使用的触碰或手指还在屏幕上时为1;
//SCROLL_STATE_FLING由于用户的操作,屏幕产生惯性滑动时为2
//当滚到最后一行且停止滚动时,执行加载
if (isLastRow && scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) {
//加载元素
......
isLastRow = false;
}
//onSCroll在listview滑动过程中被调用,可以获取到listview有多少条item以及现在显示到了第几条等等一些信息。
@Override
public void onScroll(AbsListView paramAbsListView, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
//滚动时一直回调,直到停止滚动时才停止回调。单击时回调一次。
//firstVisibleItem:当前能看见的第一个列表项ID(从0开始)
//visibleItemCount:当前能看见的列表项个数(小半个也算)
//totalItemCount:列表项共数
//判断是否滚到最后一行
if (firstVisibleItem + visibleItemCount == totalItemCount && totalItemCount > 0) {
isLastRow = true;
}
});
}
android listview onScrollListener方法的使用
最新推荐文章于 2024-09-02 18:19:21 发布