Android下拉刷新SwipeRefreshLayout和列表RecyclerView滑动冲突的解决方法

private SwipeRefreshLayout mRefreshLayout;
private RecyclerView mRecyclerView;
mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
  @Override
  public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
    int topPosition = (recyclerView == null || recyclerView.getChildCount() == 0) ? 0 : recyclerView.getChildAt(0).getTop();
    mRefreshLayout.setEnabled(topPosition >= 0);
  }

  @Override
  public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
    super.onScrollStateChanged(recyclerView, newState);
  }
});

 

posted @ 2019-03-12 19:21  yongfengnice  阅读(627)  评论(0编辑  收藏  举报