首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >查看ListView是否滚动到底部?

查看ListView是否滚动到底部?
EN

Stack Overflow用户
提问于 2011-02-26 07:05:07
回答 18查看 83.1K关注 0票数 106

我能知道我的ListView是否滚动到底部了吗?我的意思是最后一项是完全可见的。

EN

回答 18

Stack Overflow用户

发布于 2012-04-20 04:04:34

延迟回答,但如果您只是希望检查ListView是否一直向下滚动,而不创建事件侦听器,则可以使用此if语句:

代码语言:javascript
复制
if (yourListView.getLastVisiblePosition() == yourListView.getAdapter().getCount() -1 &&
    yourListView.getChildAt(yourListView.getChildCount() - 1).getBottom() <= yourListView.getHeight())
{
    //It is scrolled all the way down here

}

首先,它检查最后一个可能的位置是否在视图中。然后检查最后一个按钮的底部是否与ListView的底部对齐。你可以做一些类似的事情来知道它是否在顶部:

代码语言:javascript
复制
if (yourListView.getFirstVisiblePosition() == 0 &&
    yourListView.getChildAt(0).getTop() >= 0)
{
    //It is scrolled all the way up here

}
票数 68
EN

Stack Overflow用户

发布于 2015-07-13 18:43:45

我这样做的方式:

代码语言:javascript
复制
listView.setOnScrollListener(new AbsListView.OnScrollListener() {

    @Override
    public void onScrollStateChanged(AbsListView view, int scrollState) {
        if (scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE 
            && (listView.getLastVisiblePosition() - listView.getHeaderViewsCount() -
            listView.getFooterViewsCount()) >= (adapter.getCount() - 1)) {

        // Now your listview has hit the bottom
        }
    }

    @Override
    public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {

    }
});
票数 21
EN

Stack Overflow用户

发布于 2011-04-23 23:59:27

对…有影响的事物:

代码语言:javascript
复制
if (getListView().getLastVisiblePosition() == (adapter.items.size() - 1))
票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5123675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档