`
kakukemeit
  • 浏览: 32686 次
  • 性别: Icon_minigender_2
  • 来自: 南京
社区版块
存档分类
最新评论

Android中OnScrollListener回调具体剖析

 
阅读更多

  OnScrollListener回调分析

http://www.cnblogs.com/-cyb/articles/Android_OnScrollListener.html

 

new OnScrollListener() {
boolean isLastRow = false;

@Override
public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) {
//滚动时一直回调,直到停止滚动时才停止回调。单击时回调一次。
//firstVisibleItem:当前能看见的第一个列表项ID(从0开始)
//visibleItemCount:当前能看见的列表项个数(小半个也算)
//totalItemCount:列表项共数

//判断是否滚到最后一行
if (firstVisibleItem + visibleItemCount == totalItemCount && totalItemCount > 0) {
isLastRow = true;
}
}
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
//正在滚动时回调,回调2-3次,手指没抛则回调2次。scrollState = 2的这次不回调
//回调顺序如下
//第1次:scrollState = SCROLL_STATE_TOUCH_SCROLL(1) 正在滚动
//第2次:scrollState = SCROLL_STATE_FLING(2) 手指做了抛的动作(手指离开屏幕前,用力滑了一下)
//第3次:scrollState = SCROLL_STATE_IDLE(0) 停止滚动

//当滚到最后一行且停止滚动时,执行加载
if (isLastRow && scrollState == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) {
//加载元素
......

isLastRow = false;
}
}
}

想要获得成功,首先要自己相信自己,再者要赢得周围朋友的信任!
分享到:
评论

相关推荐

    OnSCrollListener 滚屏时候不加载数据

    在Android开发中,`OnScrollListener` 是一个用于监听滚动事件的接口,主要应用于滚动视图,如ListView、RecyclerView等。当用户滚动视图时,该监听器会触发不同的回调方法,开发者可以在这个过程中实现一些特定功能...

    Android中ListView下拉刷新和上拉加载更多的实现

    SwipeRefreshLayout作为ListView的父容器,当用户下拉时会触发onRefresh()回调,开发者在此回调中执行数据刷新操作,并在数据加载完成后调用setRefreshing(false)来结束刷新状态。 步骤如下: 1. 在布局文件中添加...

    Android-android标题栏随着RecyclerView滚动背景渐变

    2. **计算滚动距离**:在滚动监听器的回调方法中,我们可以获取到当前滚动的距离(dy)以及RecyclerView的总高度。根据这两个值,我们可以计算出标题栏颜色变化的比例。 3. **颜色渐变**:为了实现颜色渐变,可以...

    InfiniteScroll,Android中RecyclerView的InfiniteScrollListener.zip

    开发者可以在回调中处理加载更多数据的操作,比如网络请求或者本地数据的加载。 2. **实现原理** InfiniteScrollListener通常通过计算当前滚动位置与RecycleView总item数的关系来判断是否接近底部。当用户滚动到距...

    Android应用源码仿新浪微博下拉刷新继承FrameLayout.zip

    4. **回调接口**: 当用户停止滑动并达到触发刷新的阈值时,调用一个回调接口,通知应用执行实际的刷新操作。 5. **恢复原状**: 刷新完成后,动画返回到初始状态,隐藏下拉刷新头部。 此外,源码中可能还涉及到对`...

    Android自定义上拉加载下拉刷新控件

    在`PullToRefreshListViewDemo`中,开发者可能已经将ListView嵌套在SwipeRefreshLayout中,并实现了相应的刷新回调接口,如`onRefresh()`,在这个方法里,通常会执行网络请求或数据更新的操作。 接下来是上拉加载更...

    androidListView下拉刷新Demo

    下拉刷新的基本原理是监听ListView的滑动事件,当用户上滑到ListView顶部并继续下拉时,会触发一个特定的回调函数,通常是在AdapterView.OnScrollListener的onScrollStateChanged()或onScroll()方法中实现。在这个回...

    Android代码-具有伸缩效果的ListView源码.zip

    在滚动回调方法中,根据滚动方向和位置更新每个条目的动画状态。 5. **性能优化**:在处理动态效果时,需要注意性能问题。过多的计算或动画可能导致界面卡顿。因此,可能会使用SparseArray来缓存已计算的尺寸,或者...

    Android Listview最完整最全面的滑动动画

    在这些回调中,可以决定何时开始或停止动画。 6. **性能优化**:在ListView中,过多的动画可能导致性能问题。确保只在必要的时候启动动画,并及时清除不再需要的动画效果。此外,利用convertView复用机制可以避免...

    android动态加载Listview

    4. **加载更多数据**:在滚动事件回调中,根据当前显示的数据页数和每页数据量,向服务器请求新的数据。这一步可能涉及到网络请求和线程管理。 5. **更新Adapter**:加载到新的数据后,将数据添加到原有数据列表,...

    Android ListView反弹效果源码.rar

    这包括计算动画的持续时间、起始和结束值,以及更新视图状态的回调函数。 4. 视图状态更新:在动画过程中,需要更新ListView的顶部或底部视图的位置,使其看起来像是在反弹。 通过研究这份源码,你可以学到如何处理...

    Android简单的上拉加载

    2. **判断底部**:在监听器的回调中计算是否已经滚动到底部,这通常涉及到比较滚动位置和数据集的大小。 3. **加载数据**:当判断到底部后,发起数据加载请求。这可能涉及网络请求或本地数据库查询。 4. **更新UI**...

    安卓Android源码——PullToRefresh下拉刷新详细注释版.zip

    6. **回调接口**:为了在刷新完成后更新数据,通常会定义一个回调接口,让开发者在实现接口后可以处理数据加载逻辑。这样,PullToRefresh组件与实际的数据加载解耦,提高了代码的可复用性。 7. **性能优化**:在...

    Android:弹性ListView

    - 自定义滚动回调:可能包含自定义的OnScrollListener接口,以便在回弹结束时通知开发者。 4. **优化与性能**: - **内存优化**:避免一次性加载过多的数据,使用ViewHolder减少对象创建,优化ListView的复用机制...

    Android应用源码之listView下拉刷新上拉刷新带阻尼效果.zip

    开发者需要在刷新事件回调中执行实际的更新逻辑,例如调用网络API获取新数据。 2. 上拉加载更多(Load-more): 上拉加载更多是在用户滚动到ListView底部时,加载更多的数据项。这种功能适用于分页加载大量数据的...

    android-query 开发包

    AbstractAjaxCallback, LocationAjaxCallback> //本地位置信息回调 封装了本地手机gps、network确认手机位置信息 然后返回最新位置信息 public abstract class AbstractAQuery<T extends AbstractAQuery<T>> ...

    Android应用源码仿iphone的listview下拉更新-IT计算机-毕业设计.zip

    5. 数据加载完成后的回调:当数据加载完成后,恢复ListView的状态,显示新数据,并隐藏刷新指示器。 总的来说,这个项目不仅提供了实现下拉刷新功能的实例,也涵盖了Android应用开发中的多个重要概念,如自定义视图...

    android上下拉刷新Demo

    4. **处理回调**: 在`onRefresh()`和加载更多回调中,请求网络数据或加载本地数据,完成后调用` SwipeRefreshLayout`的`setRefreshing(false)`或通知`Adapter`更新数据。 5. **异常处理**: 对网络错误、数据为空等...

    横竖都能滑动的 listview 嵌套在一起的

    尽管ListView不是直接支持这些接口的,但通过适配器和回调机制,可以实现类似的功能。 5. **开源库**:可能这个项目是基于某个已有的开源库,如`android-viewpager-indicator`、`android-swipelistview`等,进行了...

    Android分组列表+组title滚动停靠顶部+下拉刷新

    当用户下拉时,`SwipeRefreshLayout`会显示一个刷新指示器,并触发一个回调方法,如`onRefresh()`,在这个方法中,开发者可以更新数据源并调用`ExpandableListView`的`notifyDataSetChanged()`刷新界面。 4. **...

Global site tag (gtag.js) - Google Analytics