码迷,mamicode.com
首页 > 其他好文 > 详细

监听加载代码实现

时间:2019-08-04 19:36:05      阅读:78      评论:0      收藏:0      [点我收藏+]

标签:getchild   列表   ref   count   inter   一个   ==   onscroll   recycle   

我们可以通过onScrollStateChanged中的第1个参数RecycleView对象,拿到其布局管理类LayoutManager。我们看一下这个管理类的源码提供的方法,如下:

//最后一个可见item
public int findLastCompletelyVisibleItemPosition() {
final View child = findOneVisibleChild(getChildCount() - 1, -1, true, false);
return child == null ? NO_POSITION : getPosition(child);
}

//第一个完全可见的item
public int findFirstCompletelyVisibleItemPosition() {
final View child = findOneVisibleChild(0, getChildCount(), true, false);
return child == null ? NO_POSITION : getPosition(child);
}

public int getItemCount() {//拿到总数
final Adapter a = mRecyclerView != null ? mRecyclerView.getAdapter() : null;
return a != null ? a.getItemCount(http://www.amjmh.com) : 0;
}

所以,我们可以通过LayoutManager拿到列表item的总数及列表前后完全显示的item,在滑动列表时会不断触发监听回调的方法,我们只需判断列表前后完全显示的item是否对应总数中item,如果判断通过就调用下拉、上拉的方法。

上拉、下拉的方法我们可以定义一个接口 UpPullOnScrollListener,在我们Activity中实现即可。

public interface UpPullOnScrollListener {
/**
* 加载更多数据的方法
*/
public void onLoadMoreData() ;

/**
* 上拉刷新数据的方法
*/
public void onRefreshData() ;
}

监听加载代码实现

标签:getchild   列表   ref   count   inter   一个   ==   onscroll   recycle   

原文地址:https://www.cnblogs.com/liyanyan665/p/11299173.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!