-
- All Implemented Interfaces:
-
com.airbnb.epoxy.BaseEpoxyTouchCallback
public interface EpoxyDragCallback<T extends EpoxyModel> implements BaseEpoxyTouchCallback<T>
For use with EpoxyModelTouchCallback
-
-
Method Summary
Modifier and Type Method Description abstract voidonDragStarted(T model, View itemView, int adapterPosition)Called when the view switches from an idle state to a dragged state, as the user begins a draginteraction with it. abstract voidonModelMoved(int fromPosition, int toPosition, T modelBeingMoved, View itemView)Called after onDragStarted when the dragged view is dropped toa new position. abstract voidonDragReleased(T model, View itemView)Called after onDragStarted when the view being dragged isreleased. -
-
Method Detail
-
onDragStarted
abstract void onDragStarted(T model, View itemView, int adapterPosition)
Called when the view switches from an idle state to a dragged state, as the user begins a draginteraction with it. You can use this callback to modify the view to indicate it is beingdragged.
This is the first callback in the lifecycle of a drag event.
- Parameters:
model- The model representing the view that is being draggeditemView- The view that is being draggedadapterPosition- The adapter position of the model
-
onModelMoved
abstract void onModelMoved(int fromPosition, int toPosition, T modelBeingMoved, View itemView)
Called after onDragStarted when the dragged view is dropped toa new position. The EpoxyController will be updated automatically for you to reposition themodels and notify the RecyclerView of the change.
You MUST use this callback to modify your data backing the models to reflect the change.
The next callback in the drag lifecycle will be onDragStarted
- Parameters:
fromPosition- The adapter position that the model came fromtoPosition- The new adapter position of the modelmodelBeingMoved- The model representing the view that was moveditemView- The view that was moved
-
onDragReleased
abstract void onDragReleased(T model, View itemView)
Called after onDragStarted when the view being dragged isreleased. If the view was dragged to a new, valid location then onModelMoved will be called before this and the view will settle to the new location.Otherwise the view will animate back to its original position.
You can use this callback to modify the view as it animates back into position.
clearView will be called after this, when theview has finished animating. Final cleanup of the view should be done there.
- Parameters:
model- The model representing the view that is being releaseditemView- The view that was being dragged
-
-
-
-