RecyclerView.OnItemTouchListener

public interface RecyclerView.OnItemTouchListener

Known direct subclasses
RecyclerView.SimpleOnItemTouchListener

An implementation of RecyclerView.OnItemTouchListener that has empty method bodies and default return values.


An OnItemTouchListener allows the application to intercept touch events in progress at the view hierarchy level of the RecyclerView before those touch events are considered for RecyclerView's own scrolling behavior.

This can be useful for applications that wish to implement various forms of gestural manipulation of item views within the RecyclerView. OnItemTouchListeners may intercept a touch interaction already in progress even if the RecyclerView is already handling that gesture stream itself for the purposes of scrolling.

Summary

Public methods

abstract boolean

Silently observe and/or take over touch events sent to the RecyclerView before they are handled by either the RecyclerView itself or its child views.

abstract void
onRequestDisallowInterceptTouchEvent(boolean disallowIntercept)

Called when a child of RecyclerView does not want RecyclerView and its ancestors to intercept touch events with onInterceptTouchEvent.

abstract void

Process a touch event as part of a gesture that was claimed by returning true from a previous call to onInterceptTouchEvent.

Public methods

onInterceptTouchEvent

Added in 1.0.0
abstract boolean onInterceptTouchEvent(@NonNull RecyclerView rv, @NonNull MotionEvent e)

Silently observe and/or take over touch events sent to the RecyclerView before they are handled by either the RecyclerView itself or its child views.

The onInterceptTouchEvent methods of each attached OnItemTouchListener will be run in the order in which each listener was added, before any other touch processing by the RecyclerView itself or child views occurs.

Parameters
@NonNull RecyclerView rv

The RecyclerView whose scroll state has changed.

@NonNull MotionEvent e

MotionEvent describing the touch event. All coordinates are in the RecyclerView's coordinate system.

Returns
boolean

true if this OnItemTouchListener wishes to begin intercepting touch events, false to continue with the current behavior and continue observing future events in the gesture.

onRequestDisallowInterceptTouchEvent

Added in 1.0.0
abstract void onRequestDisallowInterceptTouchEvent(boolean disallowIntercept)

Called when a child of RecyclerView does not want RecyclerView and its ancestors to intercept touch events with onInterceptTouchEvent.

Parameters
boolean disallowIntercept

True if the child does not want the parent to intercept touch events.

onTouchEvent

Added in 1.0.0
abstract void onTouchEvent(@NonNull RecyclerView rv, @NonNull MotionEvent e)

Process a touch event as part of a gesture that was claimed by returning true from a previous call to onInterceptTouchEvent.

Parameters
@NonNull RecyclerView rv

The RecyclerView whose scroll state has changed.

@NonNull MotionEvent e

MotionEvent describing the touch event. All coordinates are in the RecyclerView's coordinate system.