Android - RecyclerView - 如何暂时阻止滚动?

Android - RecyclerView - How do I temporarily prevent scrolling?

我有一个要冻结的 RecyclerView(即,不允许用户滚动,但仍然能够点击任何当前可见的视图)直到满足特定条件。我该如何实现?

我试过设置 OnScrollListener 如下:

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

     super.onScrolled(recyclerView, dx, dy);

     if(myCondition){
         recyclerView.stopScroll();
     }
});

没有成功。

我已经弄明白了。 OnItemTouchListener 应该改用:

onItemTouchListener = new OnItemTouchListener() {

      @Override
      public boolean onInterceptTouchEvent(final RecyclerView recyclerView, final MotionEvent e) {

          if(myCondition){

              switch(e.getAction()){

                  case MotionEvent.ACTION_MOVE: return true;
              }
          }

          return false;
      }

      @Override
      public void onTouchEvent(final RecyclerView recyclerView, final MotionEvent e) {
      }
};

现在将它添加到 RecyclerView 中:

yourRecyclerView.addOnItemTouchListener(onItemTouchListener);

如果有人找到更简单的方法,请告诉我!