您的位置:首页 > 其它

判断RecycleView是否滑动到底部

2017-06-04 11:13 260 查看
最近做项目要判断RecycleView是否滑动到底部,在网上找了很多方法,但试用之后都会有点小bug。

后来找到一个方法,暂时没有发现bug。和我想要的一样。

其实ReycleViewde判断滑动到底部的方法很多,这里只说一种

就是根据:RecycleView右边自带的滑动条判断的

   //1监听recyclView是否滑动到底部

      recycleView.setOnScrollListener(new RecyclerView.OnScrollListener() {

          //判断是不是往上拖动

          public boolean isLastReflash;

          @Override

          public void onScrollStateChanged(RecyclerView recyclerView, int newState) {

              super.onScrollStateChanged(recyclerView, newState);

            

              /*

              * 滑动停止之后检测是否滑动到底部

              **/

              if(newState == RecyclerView.SCROLL_STATE_IDLE &&isLastReflash){

                    

                   if(recycleView.computeVerticalScrollExtent()+recyclerView.computeVerticalScrollOffset()>=recyclerView.computeVerticalScrollRange()){

                      // Toast.makeText(getContext(),"滑动到底部",Toast.LENGTH_SHORT).show();

                    

                          //滑动到底部的时候一般要做加载更多的数据的操作...

                       /*

                       * 提示适配器

                       * */

                       recycleViewAdapter.notifyDataSetChanged();

                   }

              }

          }

        //根据dy,dx可以判断是往哪个方向滑动

          @Override

          public void onScrolled(RecyclerView recyclerView, int dx, int dy) {

              super.onScrolled(recyclerView, dx, dy);

              if(dy>0){

                  isLastReflash = true;

              }else{

                  isLastReflash = false;

              }

          }

      });

可能你好像做一个返回顶部的逻辑操作,也是可以获取RecycleView的布局管理器,设置要滚到的地方即可

 LinearLayoutManager  linearLayoutManager=  (LinearLayoutManager)recycleView.getLayoutManager();

                linearLayoutManager.scrollToPositionWithOffset(0,0);

最近写的都是小知识点,毕竟自己菜,如果发现有错误,希望指出。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: