@Override
    public boolean onDown(MotionEvent ev) {
        if (mRemoveEnabled && mRemoveMode == CLICK_REMOVE) {
            mClickRemoveHitPos = viewIdHitPosition(ev, mClickRemoveId);
        }

        mHitPos = startDragPosition(ev);
        if (mHitPos != MISS && mDragInitMode == ON_DOWN) {
            startDrag(mHitPos, (int) ev.getX() - mItemX, (int) ev.getY() - mItemY);
        }

        mIsRemoving = false;
        mCanDrag = true;
        mPositionX = 0;
        mFlingHitPos = startFlingPosition(ev);

        return true;
    }
Checks for the touch of an item's drag handle (specified by
{@link #setDragHandleId(int)}), and returns that item's position
if a drag handle touch was detected.

@param ev The ACTION_DOWN MotionEvent.
@return The list position of the item whose drag handle was
touched; MISS if unsuccessful.
third_party/DragSortListView/src/com/mobeta/android/dslv/DragSortController.java