OnScrollListener回调分析

时间:2022-01-30 05:55:53

new AbsListView.OnScrollListener() {
   
   @Override
   public void onScrollStateChanged(AbsListView view, int scrollState) {
    switch (scrollState) {
      case AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL:
             // 手指触屏拉动准备滚动,只触发一次
             Log.i("scroll", "SCROLL_STATE_TOUCH_SCROLL");
          break;
      case AbsListView.OnScrollListener.SCROLL_STATE_FLING:
         // 手指做了抛的动作(手指离开屏幕前,用力滑了一下),只触发一次
             Log.i("scroll", "SCROLL_STATE_FLING");
        break;
          case AbsListView.OnScrollListener.SCROLL_STATE_IDLE:
             // 整个滚动事件结束,只触发一次
             Log.i("scroll", "SCROLL_STATE_IDLE");             
          break;
         default:
         break;
        }
   }

@Override
   public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount,
     int totalItemCount) {// 一直在滚动中,多次触发  
       //滚动时一直回调,直到停止滚动时才停止回调。单击时回调一次。    
       //firstVisibleItem:当前能看见的第一个列表项ID(从0开始)    
       //visibleItemCount:当前能看见的列表项个数(小半个也算)    
       //totalItemCount:列表项共数       
       boolean isLastRow = false;
       //判断是否滚到最后一行    
       if (firstVisibleItem + visibleItemCount == totalItemCount && totalItemCount > 0) {    
            isLastRow = true;    
      }

Log.i("scroll", "onScroll  "+"firstVisibleItem:"+firstVisibleItem+
        ";visibleItemCount:"+visibleItemCount+";totalItemCount"+totalItemCount+
        ";isLastRow:"+isLastRow); 
      }
  });

OnScrollListener回调分析的更多相关文章

  1. JNI-Thread中start方法的调用与run方法的回调分析

    前言 在java编程中,线程Thread是我们经常使用的类.那么创建一个Thread的本质究竟是什么,本文就此问题作一个探索. 内容主要分为以下几个部分 1.JNI机制的使用 2.Thread创建线程 ...

  2. 使用OnScrollListener回调处理自己主动载入很多其它

    首先来分析下OnScrollListener的回调. new OnScrollListener() { boolean isLastRow = false; @Override public void ...

  3. android 滑动分页

    import android.app.ListActivity;import android.os.Bundle;import android.os.Handler;import android.vi ...

  4. android 开发积累

    1.ListView滚动黑屏问题 ListView滚动时,数据项变成黑色 问题解决办法:通过添加 android:cacheColorHint = "#00000000" 将背景设 ...

  5. JS跨域知识整理

    在“跨域”一词经常性地出现以前,我们其实已经频繁地使用它了.如在A网站的img,src指向B网站的某一图片地址,毫无疑问,这在通常情况下都是能正常显示的(且不论防盗链技术):同样,可以使script标 ...

  6. Android 仿美团网,大众点评购买框悬浮效果之修改版

    转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17761431),请尊重他人的辛勤劳动成果,谢谢! 我之前写 ...

  7. @GeneratedValue - fancychendong的专栏 - 博客频道 - CSDN.NET

    登录|注册 收藏成功 确定 收藏失败,请重新收藏 确定 标题 标题不能为空 网址 标签 摘要 公开 取消收藏 分享资讯 传PPT/文档 提问题 写博客 传资源 创建项目 创建代码片 设置昵称编辑自我介 ...

  8. 89、Android EditText 悬浮停靠

    package com.willen.topFloatDemo; import android.content.Context; import android.os.Handler; import a ...

  9. Android对ScrollView滚动监听,实现美团、大众点评的购买悬浮效果

    转帖请注明本文出自xiaanming的博客(http://blog.csdn.net/xiaanming/article/details/17761431),请尊重他人的辛勤劳动成果,谢谢! 我之前写 ...

随机推荐

  1. Nginx的启动、停止与重启

      启动 启动代码格式:nginx安装目录地址 -c nginx配置文件地址 例如: [root@LinuxServer sbin]# /usr/local/nginx/sbin/nginx -c / ...

  2. Effective Objective-C 2.0 — 第11条:理解 objc_msgSend 的作用

    消息由接受者.选择子及参数构成.给某对象“发送消息” (invoke a message) 也就相当于在该对象上“调用方法”(call a method) 发给某对象的全部信息都要由“动态消息派发系统 ...

  3. QtCreator动态编译jsoncpp完美支持x86和arm平台

    如果是做嵌入式开发. 在Qt下支持JSon最好的办法,可能不是采用qjson这个库.QJson这个库的实例只提供了x86环境下的编译方法. Installing QJson-------------- ...

  4. Codeforces Round #377 (Div. 2) A B C D 水/贪心/贪心/二分

    A. Buy a Shovel time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...

  5. LeetCode-Palindromic Substrings

    package Classify.DP.Medium; import org.junit.jupiter.api.Test; public class PalindromicSubstrings { ...

  6. android事件分发源码分析—笔记

    昨天晚上从源码角度复习了一下android的事件分发机制,今天将笔记整理下放在网上.其实说复习,也是按着<android开发艺术探索>这本书作者的思路做的笔记. 目录 事件是如何从Acti ...

  7. docker centos7创建consul镜像以及用docker-compose启动镜像

    直接贴代码了: Dockfile: # Version 0.1 FROM kuba_centos7 MAINTAINER kuba si812cn@163.com # This is the rele ...

  8. Docker镜像常用命令

    镜像(image)是Docker三大核心概念中最重要的,是运行容器的前提. Docker运行容器前需要本地存在对应的镜像,如果镜像没保存在本地,Docker会尝试先从默认镜像仓库下载(默认使用Dock ...

  9. Electron 发生错误 &quot&semi;Cannot find module app&quot&semi;的解决方案

    运行一个electron小demo出现的一个错误信息:Cannot find module app 原代码如下所示: var app = require('app'); var BrowserWind ...

  10. android datepicker monthOfYear getMonth&lpar;&rpar;&colon; 获取当前月(注意:返回数值为0&period;&period;11,需要自己&plus;1来显示)&period;&period;&period;&period;&period;

    关键点: 1. getMonth():     获取当前月(注意:返回数值为0..11,需要自己+1来显示) 2. 初始年(译者注:注意使用new Date()初始化年时,需要+1900,如下:dat ...