android 的ListView中,如何判断其内容已滚动到最顶部或者最底部

2024-11-14 13:25:55
推荐回答(2个)
回答1:

是通过ListView的OnScrollListener事件中判断的。当listView滚动的时候就会回调OnScrollListener方法。

以下为示例代码(完整代码查看附件):

  1. 得到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) {

}

}


回答2:

// 监听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) {

}

});