private boolean isLoadingMore = false;//是否预加载
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); Log.e("TAG", "onScrolled: dx"+dx+"---dy"+dy ); int lastVisibleItem = ((GridLayoutManager) gridLayoutManager).findLastVisibleItemPosition(); int totalItemCount = gridLayoutManager.getItemCount();//总条目 //lastVisibleItem >= totalItemCount - 5 表示剩下5个item实现预加载 // dy>0 表示向下滑动,滑动距离 if (lastVisibleItem >= totalItemCount - 5 && dy > 0) { if(isLoadingMore){ // Toast.makeText(getApplicationContext(), "已经预加载了!", Toast.LENGTH_SHORT).show(); } else{ page++; getPictureList(); //加载更多 } isLoadingMore = !isLoadingMore; } } });