是通过ListView的OnScrollListener事件中判断的。当listView滚动的时候就会回调OnScrollListener方法。
以下为示例代码(完整代码查看附件):
得到lisView实例
ListView listView = (ListView) findViewById(R.id.listview);
2.给ListView注册OnScrollListener事件
listView.setOnScrollListener(new OnScrollListenerImple());
3.实现OnScrollListener 接口,处理事件。
private class OnScrollListenerImple implements OnScrollListener {
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
//如果当前列表的数量等于查询的总数量,则不做任何操作
if(mSimpleAdapter.getCount() >= page.getRowCount()){
return;
}
if (view.getLastVisiblePosition() == (totalItemCount - 1)) { //判断是否滑动到最底部
//已经滑动最底部了。
}
}
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
}
// 监听listview滚到最底部
listView.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
switch (scrollState) {
case OnScrollListener.SCROLL_STATE_IDLE:
// 判断滚动到底部
if (view.getLastVisiblePosition() == (view.getCount()-1)) {
Toast.makeText(getActivity(), "滑倒底部", Toast.LENGTH_SHORT).show();
// 可添加操作
}
}
break;
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
}
});