/** * 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. */ public void startDragging(int position) { if (mMobileItemId != INVALID_ID) { /* We are already dragging */ return; } if (mLastMotionEventY < 0) { throw new Java.Lang.IllegalStateException("User must be touching the DynamicListView!"); } if (mAdapter == null) { throw new Java.Lang.IllegalStateException("This DynamicListView has no adapter set!"); } if (position < 0 || position >= mAdapter.Count) { /* 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.Visibility = ViewStates.Invisible; } }
public SettleHoverDrawableAnimatorListener(HoverDrawable animatingHoverDrawable, View animatingMobileView, DragAndDropHandler instance) { mAnimatingHoverDrawable = animatingHoverDrawable; mAnimatingMobileView = animatingMobileView; minst = instance; }