android 的ListView中怎么判断其内容已滚动到最顶部或者最底部

 我来答
专业三维可视化三维重建软件开发
2016-06-03 · TA获得超过352个赞
知道小有建树答主
回答量:403
采纳率:87%
帮助的人:159万
展开全部
  1. 可以通过判断流动条的位置得到;

  2. 如果在顶部,第零个item必然可见;

  3. 如果在底部,最大个数减1 item必须可见;

  4. ,具体见代码:

 

       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) {

}
        });
好靓的牛
2016-05-27 · TA获得超过1519个赞
知道小有建树答主
回答量:1253
采纳率:71%
帮助的人:250万
展开全部
如果你是绑定的BaseAdapter,用position判断就可以了,最顶端position值为0,最低端为数据源的长度。

或者使用ListView的滚动监听事件来判断。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zyj0721
2016-06-01 · 超过11用户采纳过TA的回答
知道答主
回答量:70
采纳率:0%
帮助的人:24.1万
展开全部
使用getFirstVisiblePosition() == 0就可以,或者你可以直接判断position是不是为零,但是最后一条就不是那么好弄了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
子有鱼迩
2016-06-03 · TA获得超过1232个赞
知道小有建树答主
回答量:2287
采纳率:48%
帮助的人:392万
展开全部
监听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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
手握冻鱼
2016-05-04 · TA获得超过601个赞
知道小有建树答主
回答量:853
采纳率:67%
帮助的人:107万
展开全部
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", "滑到底部");
}
}
});
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式