首页 > 系统 > Android > 正文

Android SwipeRefreshLayout和RecyclerView嵌套时 下拉刷新冲突的解决办法

2019-11-09 17:38:46
字体:
来源:转载
供稿:网友

在RecyclerView中判断

recyclerView.setOnScrollListener(new RecyclerView.OnScrollListener() {            @Override            public void onScrollStateChanged(RecyclerView recyclerView, int newState) {                super.onScrollStateChanged(recyclerView, newState);            }            @Override            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {                int toPRowVerticalPosition = (recyclerView == null || recyclerView.getChildCount() == 0) ? 0 : recyclerView.getChildAt(0).getTop();                swipe_learing_tasks.setEnabled(topRowVerticalPosition >= 0);            }        });这样在RecyclerView的列表在最上方的时候,SwipeRefreshLayout可以响应下拉刷新,其他时候是由RecyclerView响应向下滑动

下拉刷新的实现方法还是在onRefresh()方法中

swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() {            @Override            public void onRefresh() {               //在这里            }        });

另外如果想修改原型进度条的颜色

swipeRefreshLayout.setColorSchemeColors(getResources().getColor(R.color.blue));即可


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表