android 的ListView中怎么判断其内容已滚动到最顶部或者最底部
6个回答
展开全部
可以通过判断流动条的位置得到;
如果在顶部,第零个item必然可见;
如果在底部,最大个数减1 item必须可见;
,具体见代码:
listview.setOnScrollListener(new AbsListView.OnScrollListener() { @Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
switch (scrollState) {
// 当不滚动时
case AbsListView.OnScrollListener.SCROLL_STATE_IDLE:
// 判断滚动到底部
if (listview.getLastVisiblePosition() == (listview.getCount() - 1)) {
L.e("滚动到底部");
}
// 判断滚动到顶部
if (listview.getFirstVisiblePosition() == 0) {
}
break;
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
}
});
展开全部
如果你是绑定的BaseAdapter,用position判断就可以了,最顶端position值为0,最低端为数据源的长度。
或者使用ListView的滚动监听事件来判断。
或者使用ListView的滚动监听事件来判断。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用getFirstVisiblePosition() == 0就可以,或者你可以直接判断position是不是为零,但是最后一条就不是那么好弄了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
监听ListView滚动到最底部或顶部使用 onScrollStateChanged(AbsListView view, int scrollState) 方法,代码大致如下:
// 监听listview滚动
mIndexList.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
switch (scrollState) {
// 当不滚动时
case OnScrollListener.SCROLL_STATE_IDLE:
// 判断滚动到底部
if (view.getLastVisiblePosition() == (view.getCount() - 1)) {
}
//判断滚动到顶部
if (view.getLastVisiblePosition() == 0) {
}
break;
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount) {
}
});
此段内容参考:csdn blog 地址:http://blog.csdn.net/fxtxz2/article/details/8538696
// 监听listview滚动
mIndexList.setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
switch (scrollState) {
// 当不滚动时
case OnScrollListener.SCROLL_STATE_IDLE:
// 判断滚动到底部
if (view.getLastVisiblePosition() == (view.getCount() - 1)) {
}
//判断滚动到顶部
if (view.getLastVisiblePosition() == 0) {
}
break;
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount) {
}
});
此段内容参考:csdn blog 地址:http://blog.csdn.net/fxtxz2/article/details/8538696
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
getListView().setOnScrollListener(new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
if(firstVisibleItem==0){
Log.e("log", "滑到顶部");
}
if(visibleItemCount+firstVisibleItem==totalItemCount){
Log.e("log", "滑到底部");
}
}
});
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
if(firstVisibleItem==0){
Log.e("log", "滑到顶部");
}
if(visibleItemCount+firstVisibleItem==totalItemCount){
Log.e("log", "滑到底部");
}
}
});
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询