super.initData(); mPaipu_tuijian = new Paipu_tuijian(getContext(), mRecyclerView); GetDataNet(false); mSwipeRefreshWidget.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { GetDataNet(false); new Thread(new Runnable() { @Override public void run() { mSwipeRefreshWidget.setRefreshing(false); } }).start(); }});
首先填充适配器,然后设置是否执行刷新操作
重要的位置就是一个滑动代码
mRecyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrollStateChanged(RecyclerView recyclerView, int newState) { super.onScrollStateChanged(recyclerView, newState); if (newState == RecyclerView.SCROLL_STATE_IDLE && lastVisibleItem+1 == mPaipu_tuijian.getItemCount()){ GetDataNet(true); mPaipu_tuijian.changeMoreStatus(Paipu_tuijian.PULLUP_LOAD_MORE); } } @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { super.onScrolled(recyclerView, dx, dy); lastVisibleItem = linearLayoutManager.findLastVisibleItemPosition(); // getPositionAndOffset(); Log.e("TAG","lastVisibleItem我是当前的位置-------"+lastVisibleItem); } });记录最后一次加载的位置,当刷新的时候定位过去
//滚动到指定的位置 private void scrollToPosition(){ if (mRecyclerView.getLayoutManager()!=null&&lastPosition>=0){ mRecyclerView.scrollToPosition(lastVisibleItem); // ((LinearLayoutManager)mRecyclerView.getLayoutManager()).scrollToPositionWithOffset(lastPosition,lastVisibleItem); } }
Android使用RecyclerView+SwipeRefreshLayout进行拉下刷新
最新推荐文章于 2021-11-03 21:08:07 发布