recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int scrollState) {
super.onScrollStateChanged(recyclerView,scrollState);
switch (scrollState){
case RecyclerView.SCROLL_STATE_SETTLING:
finalBitmap.pauseRequests();
break;
case RecyclerView.SCROLL_STATE_IDLE:
case RecyclerView.SCROLL_STATE_DRAGGING:
//SCROLL_STATE_IDLE
finalBitmap.resumeRequests();
int[] firstVisibleItemPositions = layoutManager.findFirstVisibleItemPositions(null);
if(firstVisibleItemPositions[0] < 3 ){
refreshLayout.setPullDownRefreshEnable(true);
Logger.e("可以下拉刷新…… = " +firstVisibleItemPositions[0] );
}else{
refreshLayout.setPullDownRefreshEnable(false);
}
break;
}
}
在静止滑动的时候,计算当前第一个position 如果postion 大于每一行的count ,就是没有到第一个, 禁止下拉刷新
int[] firstVisibleItemPositions = layoutManager.findFirstVisibleItemPositions(null);