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);
  }
});

猜你喜欢

转载自www.cnblogs.com/yongfengnice/p/10518909.html