public abstract class BaseItemDraggableAdapter<T,K extends BaseViewHolder> extends BaseQuickAdapter<T,K>
BaseQuickAdapter.AnimationType, BaseQuickAdapter.OnItemChildClickListener, BaseQuickAdapter.OnItemChildLongClickListener, BaseQuickAdapter.OnItemClickListener, BaseQuickAdapter.OnItemLongClickListener, BaseQuickAdapter.RequestLoadMoreListener, BaseQuickAdapter.SpanSizeLookup, BaseQuickAdapter.UpFetchListener| Modifier and Type | Field and Description |
|---|---|
protected boolean |
itemDragEnabled |
protected boolean |
itemSwipeEnabled |
protected boolean |
mDragOnLongPress |
protected ItemTouchHelper |
mItemTouchHelper |
protected OnItemDragListener |
mOnItemDragListener |
protected OnItemSwipeListener |
mOnItemSwipeListener |
protected android.view.View.OnLongClickListener |
mOnToggleViewLongClickListener |
protected android.view.View.OnTouchListener |
mOnToggleViewTouchListener |
protected int |
mToggleViewId |
ALPHAIN, EMPTY_VIEW, FOOTER_VIEW, HEADER_VIEW, LOADING_VIEW, mContext, mData, mLayoutInflater, mLayoutResId, SCALEIN, SLIDEIN_BOTTOM, SLIDEIN_LEFT, SLIDEIN_RIGHT, TAG| Constructor and Description |
|---|
BaseItemDraggableAdapter(int layoutResId,
java.util.List<T> data) |
BaseItemDraggableAdapter(java.util.List<T> data) |
| Modifier and Type | Method and Description |
|---|---|
void |
disableDragItem()
Disable drag items.
|
void |
disableSwipeItem() |
void |
enableDragItem(ItemTouchHelper itemTouchHelper)
Enable drag items.
|
void |
enableDragItem(ItemTouchHelper itemTouchHelper,
int toggleViewId,
boolean dragOnLongPress)
Enable drag items.
|
void |
enableSwipeItem()
Enable swipe items.
|
int |
getViewHolderPosition(RecyclerView.ViewHolder viewHolder) |
boolean |
isItemDraggable() |
boolean |
isItemSwipeEnable() |
void |
onBindViewHolder(K holder,
int position)
To bind different types of holder and solve different the bind events
|
void |
onItemDragEnd(RecyclerView.ViewHolder viewHolder) |
void |
onItemDragMoving(RecyclerView.ViewHolder source,
RecyclerView.ViewHolder target) |
void |
onItemDragStart(RecyclerView.ViewHolder viewHolder) |
void |
onItemSwipeClear(RecyclerView.ViewHolder viewHolder) |
void |
onItemSwiped(RecyclerView.ViewHolder viewHolder) |
void |
onItemSwipeStart(RecyclerView.ViewHolder viewHolder) |
void |
onItemSwiping(android.graphics.Canvas canvas,
RecyclerView.ViewHolder viewHolder,
float dX,
float dY,
boolean isCurrentlyActive) |
void |
setOnItemDragListener(OnItemDragListener onItemDragListener) |
void |
setOnItemSwipeListener(OnItemSwipeListener listener) |
void |
setToggleDragOnLongPress(boolean longPress)
Set the drag event should be trigger on long press.
|
void |
setToggleViewId(int toggleViewId)
Set the toggle view's id which will trigger drag event.
|
add, addData, addData, addData, addData, addFooterView, addFooterView, addFooterView, addHeaderView, addHeaderView, addHeaderView, bindToRecyclerView, closeLoadAnimation, collapse, collapse, collapse, convert, createBaseViewHolder, createBaseViewHolder, disableLoadMoreIfNotFullPage, disableLoadMoreIfNotFullPage, enableLoadMoreEndClick, expand, expand, expand, expandAll, expandAll, expandAll, getData, getDefItemViewType, getEmptyView, getEmptyViewCount, getFooterLayout, getFooterLayoutCount, getFooterViewsCount, getHeaderLayout, getHeaderLayoutCount, getHeaderViewsCount, getItem, getItemCount, getItemId, getItemView, getItemViewType, getLoadMoreViewCount, getLoadMoreViewPosition, getMultiTypeDelegate, getOnItemChildClickListener, getOnItemChildLongClickListener, getOnItemClickListener, getOnItemLongClickListener, getParentPosition, getRecyclerView, getViewByPosition, getViewByPosition, hasSubItems, isExpandable, isFirstOnly, isFixedViewType, isFooterViewAsFlow, isHeaderViewAsFlow, isLoading, isLoadMoreEnable, isUpFetchEnable, isUpFetching, isUseEmpty, loadMoreComplete, loadMoreEnd, loadMoreEnd, loadMoreFail, notifyLoadMoreToLoading, onAttachedToRecyclerView, onCreateDefViewHolder, onCreateViewHolder, onViewAttachedToWindow, openLoadAnimation, openLoadAnimation, openLoadAnimation, refreshNotifyItemChanged, remove, removeAllFooterView, removeAllHeaderView, removeFooterView, removeHeaderView, replaceData, setAutoLoadMoreSize, setData, setDuration, setEmptyView, setEmptyView, setEmptyView, setEnableLoadMore, setFooterView, setFooterView, setFooterView, setFooterViewAsFlow, setFullSpan, setHeaderAndEmpty, setHeaderFooterEmpty, setHeaderView, setHeaderView, setHeaderView, setHeaderViewAsFlow, setLoadMoreView, setMultiTypeDelegate, setNewData, setNotDoAnimationCount, setOnItemChildClickListener, setOnItemChildLongClickListener, setOnItemClick, setOnItemClickListener, setOnItemLongClick, setOnItemLongClickListener, setOnLoadMoreListener, setOnLoadMoreListener, setPreLoadNumber, setSpanSizeLookup, setStartUpFetchPosition, setUpFetchEnable, setUpFetching, setUpFetchListener, startAnimprotected int mToggleViewId
protected ItemTouchHelper mItemTouchHelper
protected boolean itemDragEnabled
protected boolean itemSwipeEnabled
protected OnItemDragListener mOnItemDragListener
protected OnItemSwipeListener mOnItemSwipeListener
protected boolean mDragOnLongPress
protected android.view.View.OnTouchListener mOnToggleViewTouchListener
protected android.view.View.OnLongClickListener mOnToggleViewLongClickListener
public BaseItemDraggableAdapter(java.util.List<T> data)
public BaseItemDraggableAdapter(int layoutResId,
java.util.List<T> data)
public void onBindViewHolder(K holder, int position)
onBindViewHolder in class BaseQuickAdapter<T,K extends BaseViewHolder>holder - position - BaseQuickAdapter.getDefItemViewType(int)public void setToggleViewId(int toggleViewId)
toggleViewId - the toggle view's idpublic void setToggleDragOnLongPress(boolean longPress)
longPress - by default is true.public void enableDragItem(ItemTouchHelper itemTouchHelper)
itemTouchHelper - ItemTouchHelperpublic void enableDragItem(ItemTouchHelper itemTouchHelper,
int toggleViewId,
boolean dragOnLongPress)
itemTouchHelper - ItemTouchHelpertoggleViewId - The toggle view's id.dragOnLongPress - If true the drag event will be trigger on long press, otherwise on touch down.public void disableDragItem()
public boolean isItemDraggable()
public void enableSwipeItem()
Enable swipe items.
You should attachItemTouchHelper which construct with ItemDragAndSwipeCallback to the Recycler when you enable this.public void disableSwipeItem()
public boolean isItemSwipeEnable()
public void setOnItemDragListener(OnItemDragListener onItemDragListener)
onItemDragListener - Register a callback to be invoked when drag event happen.public int getViewHolderPosition(RecyclerView.ViewHolder viewHolder)
public void onItemDragStart(RecyclerView.ViewHolder viewHolder)
public void onItemDragMoving(RecyclerView.ViewHolder source,
RecyclerView.ViewHolder target)
public void onItemDragEnd(RecyclerView.ViewHolder viewHolder)
public void setOnItemSwipeListener(OnItemSwipeListener listener)
public void onItemSwipeStart(RecyclerView.ViewHolder viewHolder)
public void onItemSwipeClear(RecyclerView.ViewHolder viewHolder)
public void onItemSwiped(RecyclerView.ViewHolder viewHolder)
public void onItemSwiping(android.graphics.Canvas canvas,
RecyclerView.ViewHolder viewHolder,
float dX,
float dY,
boolean isCurrentlyActive)