@MainThread public class ItemClickHelper<E> extends RecyclerViewOwner
It works with a RecyclerView and a Callback class, which configures what type of interactions are enabled. In most situations it's better to make your adapter as Callback implementation.
Depending on which functionality you need, you should provide
OnItemClickListener and / or OnItemLongClickListener.
| Modifier and Type | Class and Description |
|---|---|
static interface |
ItemClickHelper.Callback<E>
This interface is the contract between ItemClickHelper and your application.
|
| Constructor and Description |
|---|
ItemClickHelper(ItemClickHelper.Callback<E> callback) |
| Modifier and Type | Method and Description |
|---|---|
protected boolean |
isLongPressEnabled() |
protected void |
notifyLongpressEnabledChanged()
Notify
ItemClickHelper that long press enabled state has changed. |
protected void |
onAttachedToRecyclerView(RecyclerView recyclerView)
Called by RecyclerViewOwner when RecyclerView is attached.
|
protected void |
onDetachedFromRecyclerView(RecyclerView recyclerView)
Called by RecyclerViewOwner when RecyclerView is detached.
|
protected boolean |
performClick(RecyclerView.ViewHolder viewHolder,
View view) |
protected boolean |
performLongPress(RecyclerView.ViewHolder viewHolder,
View view) |
void |
setOnItemClickListener(OnItemClickListener<E> onItemClickListener)
Register a callback to be invoked when view is clicked.
|
void |
setOnItemLongClickListener(OnItemLongClickListener<E> onItemLongClickListener)
Register a callback to be invoked when view is long clicked.
|
getRecyclerView, setRecyclerViewpublic ItemClickHelper(@NonNull ItemClickHelper.Callback<E> callback)
public void setOnItemClickListener(@Nullable OnItemClickListener<E> onItemClickListener)
onItemClickListener - The callback that will run.public void setOnItemLongClickListener(@Nullable OnItemLongClickListener<E> onItemLongClickListener)
onItemLongClickListener - The callback that will run.protected boolean isLongPressEnabled()
protected void notifyLongpressEnabledChanged()
ItemClickHelper that long press enabled state has changed.@CallSuper protected void onAttachedToRecyclerView(@NonNull RecyclerView recyclerView)
onAttachedToRecyclerView in class RecyclerViewOwnerrecyclerView - The RecyclerView instance.RecyclerViewOwner.onDetachedFromRecyclerView(RecyclerView)@CallSuper protected void onDetachedFromRecyclerView(@NonNull RecyclerView recyclerView)
onDetachedFromRecyclerView in class RecyclerViewOwnerrecyclerView - The RecyclerView instance.RecyclerViewOwner.onAttachedToRecyclerView(RecyclerView)protected boolean performClick(@NonNull RecyclerView.ViewHolder viewHolder, @NonNull View view)