Android列表滑动加载主要依靠ListView的OnScrollListener实现,在此先介绍一下ListView的OnScrollListener接口:
1 | public interface OnScrollListener { |
可以看到,OnScrollListener接口有三个静态滚动状态的变量,及两个要实现的方法。
onScrollStateChanged
滚动状态发生变化时,系统会回调这个方法。滚动状态会被赋值到scrollState,scrollState的值如下:
scrollState值 | 含义 |
---|---|
SCROLL_STATE_IDLE | 不滚动时的状态,通常会在滚动停止时监听到此状态 |
SCROLL_STATE_TOUCH_SCROLL | 正在滚动的状态 |
SCROLL_STATE_FLING | 用力快速滑动时可监听到此值 |
onScroll
滚动过程中会回调此方法。详细的参数含义:
onScroll方法参数 | 含义 |
---|---|
firstVisibleItem | 第一个可视的项,这里是整个item都可视的项。被挡住一点的item都不符合 |
visibleItemCount | 可视的项的个数 |
totalItemCount | 总item的个数 |
实现滑动加载的例子如下:
1 | public class MainActivity extends AppCompatActivity { |
布局文件为一个listView,在此不贴出了。
效果如下: