title: android scroll while drag & drop
body: <p>Hi I am trying to do a drag and drop on a ListView. It works great. But I lost the ability to click and scroll. How to I retain those two? I was thinkng the drag and drop should happen on long press of the item instead of a normal press. Here is my onTouch that is located in the MyListView that extends ListView</p>
  
  <pre><code>@Override
      public boolean onTouchEvent(MotionEvent ev) {
          final int action = ev.getAction();
          final int x = (int) ev.getX();
          final int y = (int) ev.getY();  
  
          if (action == MotionEvent.ACTION_DOWN &amp;&amp; x &lt; this.getWidth()/4) {
              this._dragMode = true;
          }
  
          if (!this._isDragNDrop) 
              return super.onTouchEvent(ev);
  
          switch (action) {
              case MotionEvent.ACTION_DOWN:
                  this._startPosition = pointToPosition(x,y);
                  if (this._startPosition != INVALID_POSITION) {
                      int mItemPosition = this._startPosition - getFirstVisiblePosition();
                      this._dragPointOffset = y - getChildAt(mItemPosition).getTop();
                      this._dragPointOffset -= ((int)ev.getRawY()) - y;
                      startDrag(mItemPosition,y);
                      drag(x,y);
                  }   
                  break;
              case MotionEvent.ACTION_MOVE:
                  drag(x,y);
                  break;
              case MotionEvent.ACTION_CANCEL:
              case MotionEvent.ACTION_UP:
              default:
                  this._dragMode = false;
                  //_isDragNDrop = false;
                  this._endPosition = pointToPosition(x,y);
                  stopDrag(this._startPosition - getFirstVisiblePosition());
                  if (this._dropListener != null &amp;&amp; this._startPosition != INVALID_POSITION &amp;&amp; this._endPosition != INVALID_POSITION) 
                      this._dropListener.onDrop(this._startPosition, this._endPosition);
                  break;
          }
          return true;
      }
  </code></pre>