将侦听器绑定到Android ListView

只是想问是否有可能绑定一些监听器到ListView滚动事件.

我想要实现的是,一旦ListView被滚动到底部,我想要求服务器获取更多的数据,如果有的话.

我知道有一个像getLastVisiblePosition()这样的函数,但是我认为它必须在某种类型的监听器中使用,以便与当前最后一个可见位置进行比较,我是对的吗?

干杯,
/马辛

解决方法

只是为了推断TomTo的答案,有一些想法可以这样做(理论上我没有在实践中尝试过):
ListView lv = (ListView)findViewById(R.id.list_view);
lv.setonScrollListener(new OnScrollListener() {
    @Override
    public void onScroll(AbsListView view,int firstVisibleItem,int visibleItemCount,int totalItemCount) {
        //Check if the last view is visible
        if (++firstVisibleItem + visibleItemCount > totalItemCount) {
            //load more content
        }
    }
});

由于firstVisibleItem返回一个索引(基于0),所以我增加一个获取实际的项目编号.那么,如果这个,加上可见项目的数量大于项目总数,那么理论上最后一个视图应该是可见的.不应该是一个问题,但请记住,这不是调用,直到滚动完成.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...