lib-manipulation/src/main/java/com/nhaarman/listviewanimations/itemmanipulation/dragdrop/DragAndDropHandler.java
public void startDragging(final int position) {
        if (mMobileItemId != INVALID_ID) {
            /* We are already dragging */
            return;
        }

        if (mLastMotionEventY < 0) {
            throw new IllegalStateException("User must be touching the DynamicListView!");
        }

        if (mAdapter == null) {
            throw new IllegalStateException("This DynamicListView has no adapter set!");
        }

        if (position < 0 || position >= mAdapter.getCount()) {
            /* Out of bounds */
            return;
        }


        mMobileView = mWrapper.getChildAt(position - mWrapper.getFirstVisiblePosition() + mWrapper.getHeaderViewsCount());
        if (mMobileView != null) {
            mOriginalMobileItemPosition = position;
            mMobileItemId = mAdapter.getItemId(position);
            mHoverDrawable = new HoverDrawable(mMobileView, mLastMotionEventY);
            mMobileView.setVisibility(View.INVISIBLE);
        }
    }
public void startDragging(final int position) {
        if (mMobileItemId != INVALID_ID) {
            /* We are already dragging */
            return;
        }

        if (mLastMotionEventY < 0) {
            throw new IllegalStateException("User must be touching the DynamicListView!");
        }

        if (mAdapter == null) {
            throw new IllegalStateException("This DynamicListView has no adapter set!");
        }

        if (position < 0 || position >= mAdapter.getCount()) {
            /* Out of bounds */
            return;
        }


        mMobileView = mWrapper.getChildAt(position - mWrapper.getFirstVisiblePosition() + mWrapper.getHeaderViewsCount());
        if (mMobileView != null) {
            mOriginalMobileItemPosition = position;
            mMobileItemId = mAdapter.getItemId(position);
            mHoverDrawable = new HoverDrawable(mMobileView, mLastMotionEventY);
            mMobileView.setVisibility(View.INVISIBLE);
        }
    }
public void startDragging ( final int position ) { if ( mMobileItemId != INVALID_ID ) { /* We are already dragging */ return ; } if ( mLastMotionEventY < 0 ) { throw new IllegalStateException ( "User must be touching the DynamicListView!" ) ; } if ( mAdapter == null ) { throw new IllegalStateException ( "This DynamicListView has no adapter set!" ) ; } if ( position < 0 || position >= mAdapter . getCount ( ) ) { /* Out of bounds */ return ; } mMobileView = mWrapper . getChildAt ( position - mWrapper . getFirstVisiblePosition ( ) + mWrapper . getHeaderViewsCount ( ) ) ; if ( mMobileView != null ) { mOriginalMobileItemPosition = position ; mMobileItemId = mAdapter . getItemId ( position ) ; mHoverDrawable = new HoverDrawable ( mMobileView , mLastMotionEventY ) ; mMobileView . setVisibility ( View . INVISIBLE ) ; } }
Starts dragging the item at given position. User must be touching this {@code DynamicListView}.

@param position the position of the item in the adapter to start dragging. Be sure to subtract any header views.

@throws java.lang.IllegalStateException if the user is not touching this {@code DynamicListView},
or if there is no adapter set.
Starts dragging the item at given position . User must be touching this { @code DynamicListView } .