private void doDragFloatView(boolean forceInvalidate) {
        int movePos = getFirstVisiblePosition() + getChildCount() / 2;
        View moveItem = getChildAt(getChildCount() / 2);

        if (moveItem == null) {
            return;
        }

        doDragFloatView(movePos, moveItem, forceInvalidate);
    }
Start a drag of item at <code>position</code> without using
a FloatViewManager.

@param position Item to drag.
@param floatView Floating View.
@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, <code>floatView</code> is null, or there is
a drag in progress.
third_party/DragSortListView/src/com/mobeta/android/dslv/DragSortListView.java