title: addOnItemTouchListener in recyclerview getting queued
body: <p>i am showing json data in recyclerview. when i click any item of the recyclerview it should showing some new data. its working fine but the problem is, when i click its getting queued, like if i click tow item one after another, recyclerview will show items for twice.how to solve this issue? </p>
  
  <p>i have tried by setting addOnItemTouchListener null after completion the click, but its showing null pointer exception on next click.</p>
  
  <p>my click listener class below:</p>
  
  <pre><code>public class RecyclerTouchListener implements RecyclerView.OnItemTouchListener {
  
      private GestureDetector gestureDetector;
      private ClickListener clickListener;
  
      public RecyclerTouchListener(Context context, final RecyclerView recyclerView, final ClickListener clickListener) {
          this.clickListener = clickListener;
          gestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener() {
  
              @Override
              public boolean onSingleTapUp(MotionEvent e) {
                  return true;
              }
  
              @Override
              public void onLongPress(MotionEvent e) {
  
                  View child = recyclerView.findChildViewUnder(e.getX(), e.getY());
  
                  if (child != null &amp;&amp; clickListener != null) {
  
                      clickListener.onLongClick(child, recyclerView.getChildPosition(child));
  
                  }
              }
          });
      }
  
      @Override
      public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
  
          View child = rv.findChildViewUnder(e.getX(), e.getY());
  
          if (child != null &amp;&amp; clickListener != null &amp;&amp; gestureDetector.onTouchEvent(e)) {
  
              clickListener.onClick(child, rv.getChildPosition(child));
  
          }
          return false;
      }
  
      @Override
      public void onTouchEvent(RecyclerView rv, MotionEvent e) {
      }
  
      @Override
      public void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept) {
  
      }
  
      public interface ClickListener {
  
          void onClick(View view, int position);
  
          void onLongClick(View view, int position);
      }
  }
  </code></pre>