public boolean startDrag(int position, int dragFlags, int deltaX, int deltaY) {
        if (!mInTouchEvent || mFloatViewManager == null) {
            return false;
        }

        View v = mFloatViewManager.onCreateFloatView(position);

        if (v == null) {
            return false;
        } else {
            return startDrag(position, v, dragFlags, deltaX, deltaY);
        }

    }
Start a drag of item at <code>position</code> using the
registered FloatViewManager. Calls through
to {@link #startDrag(int,View,int,int,int)} after obtaining
the floating View from the FloatViewManager.

@param position Item to drag.
@param dragFlags Flags that restrict some movements of the
floating View. For example, set <code>dragFlags |= 
~{@link #DRAG_NEG_X}</code> to allow dragging the floating
View in all directions except off the screen to the left.
@param deltaX Offset in x of the touch coordinate from the
left edge of the floating View (i.e. touch-x minus float View
left).
@param deltaY Offset in y of the touch coordinate from the
top edge of the floating View (i.e. touch-y minus float View
top).

@return True if the drag was started, false otherwise. This
<code>startDrag</code> will fail if we are not currently in
a touch event, there is no registered FloatViewManager,
or the FloatViewManager returns a null View.
third_party/DragSortListView/src/com/mobeta/android/dslv/DragSortListView.java