说明:

listview未滚动触发onScroll

解决:

利用OnScrollListener中的onScrollStateChanged方法中的scrollState

public void onScrollStateChanged(AbsListView view, int scrollState);

该方法有两个入参,第二个参数scrollState有三种状态:

public static int SCROLL_STATE_IDLE = 0;            //结束滚动    public static int SCROLL_STATE_TOUCH_SCROLL = 1;    //触摸滚动    public static int SCROLL_STATE_FLING = 2;           //手指离开屏幕后的滚动状态

此时我们可将焦点定位到 SCROLL_STATE_IDLE,将滚动到底部的判断和处理放在结束滚动之后。

@Overridepublic void onScrollStateChanged(AbsListView view, int scrollState) {    switch (scrollState) {        case SCROLL_STATE_IDLE:            boolean toBottom = view.getLastVisiblePosition() == view.getCount() - 1;            if (toBottom && !isLoading && !isFinish) {                //...            }            break;    }

这样就能操控onScroll的触发了。

总结:

  • onScroll 只有在scrollState等于1和2的时候调用。

其中1是手指没有离开屏幕的滑动,2是手指离开了屏幕的滑动,这两种状态的滑动onScroll一直被调用

  • 0有两种情况:

1、手指不离开滑动中停止,然后离开屏幕会出现0
2、滑动过程中手指离开但是屏幕继续滑动自然停止后是0

  • 再scrollState为0的时候不会调用onScroll

以上都自己打印log,手指操作一下就能理解了


更多相关文章

  1. android DIY 2
  2. android左右滑动加载分页以及动态加载数据
  3. Android(安卓)SlidingTabLayout+不可手动横向滑动的ViewPager
  4. Android手势操作(双击,长按,滑动,滚动,多点触控)
  5. 【Android(安卓)UI】ViewPager禁止滚动
  6. android 自定义View 滚动选择器PickerView
  7. Android(安卓)ViewPager+Fragment实现首页滑动翻页
  8. android左右滑动翻页查看图片
  9. Android监听WebView滑动到底部

随机推荐

  1. [置顶] android Studio 配置LUA 开发环境
  2. Android的交叉编译工具
  3. Android(安卓)核心分析 之八------Androi
  4. Android中的消息机制:Handler消息传递机制
  5. Android中的多媒体编程-黄俊东-专题视频
  6. 开发具备语音识别功能的 Android* 应用
  7. android 屏幕自适应
  8. 【Android布局】在程序中设置android:gra
  9. android的Instrumentation详解
  10. Android在Eclipse环境下安装配置