title: dispatch touch events from gesture listener onSingleTapConfirmed and keep selector effects
body: <p>I have a list view with items containing multiple buttons. The layout for one item looks something like this:</p>
  
  <p><img src="https://i.stack.imgur.com/7j4TI.png" alt="The black frame represents one listview item"></p>
  
  <p>I have an overlaying transparent view, covering each entire list item. This view listens to two gestures: <code>onDoubleTap</code> and <code>onSingleTapConfimred</code>.</p>
  
  <p>To trigger the click listeners on the underlying buttons i can just dispatch the touch events from the overlaying touch listener, but this <strong>does not</strong> show the selectors and states on the buttons (for example changed background color on press). I also only want the trigger click events when the overlaying view has fired <code>onSingleTapConfimred</code></p>
  
  <pre><code>...
  final DtGestureDetector detector = new DtGestureDetector(position);
  final GestureDetector gd = new GestureDetector(convertView.getContext(), detector);
  postViewHolder.viewOverlay.setOnTouchListener(new OnTouchListener() {           
      @Override
      public boolean onTouch(View v, MotionEvent event) {
          //i want to trigger this only onSingleTapConfirmed and set the view selector on touch
          //postViewHolder.txtMessage.onTouchEvent(event); 
          //postViewHolder.layPhoto.onTouchEvent(event);
          gd.onTouchEvent(event);                     
          return true;
      }
  });
  ...
  private class DtGestureDetector extends GestureDetector.SimpleOnGestureListener {
  
      private int position;   
  
      public DtGestureDetector(int position) {
          super();
          this.position = position;
      }
  
      public boolean onDoubleTap(MotionEvent e) {
          Log.d(tag, "DoubleTap"+position);
          return true;
      }
  
      @Override
      public boolean onSingleTapConfirmed(MotionEvent e) {
          Log.d(tag, "SingleTap"+position);
              return true;
      }
  }
  </code></pre>