RecyclerViewActions

public final class RecyclerViewActions
extends Object

java.lang.Object
   ↳ android.support.test.espresso.contrib.RecyclerViewActions


ViewActions to interact RecyclerView. RecyclerView works differently than AdapterView. In fact, RecyclerView is not an AdapterView anymore, hence it can't be used in combination with onData(Matcher).

To use ViewActions in this class use onView(Matcher) with a Matcher that matches your RecyclerView, then perform a ViewAction from this class.

Summary

Nested classes

interface RecyclerViewActions.PositionableRecyclerViewAction

Most RecyclerViewActions are given a matcher to select a particular view / viewholder within the RecyclerView. 

Public methods

static RecyclerViewActions.PositionableRecyclerViewAction actionOnHolderItem(Matcher viewHolderMatcher, ViewAction viewAction)

Performs a ViewAction on a view matched by viewHolderMatcher.

static RecyclerViewActions.PositionableRecyclerViewAction actionOnItem(Matcher<View> itemViewMatcher, ViewAction viewAction)

Performs a ViewAction on a view matched by viewHolderMatcher.

static ViewAction actionOnItemAtPosition(int position, ViewAction viewAction)

Performs a ViewAction on a view at position.

static RecyclerViewActions.PositionableRecyclerViewAction scrollTo(Matcher<View> itemViewMatcher)

Returns a ViewAction which scrolls RecyclerView to the view matched by itemViewMatcher.

static RecyclerViewActions.PositionableRecyclerViewAction scrollToHolder(Matcher viewHolderMatcher)

Returns a ViewAction which scrolls RecyclerView to the view matched by viewHolderMatcher.

static ViewAction scrollToPosition(int position)

Returns a ViewAction which scrolls RecyclerView to a position.

Inherited methods

From class java.lang.Object

Public methods

actionOnHolderItem

RecyclerViewActions.PositionableRecyclerViewAction actionOnHolderItem (Matcher viewHolderMatcher, 
                ViewAction viewAction)

Performs a ViewAction on a view matched by viewHolderMatcher.

  1. Scroll Recycler View to the view matched by itemViewMatcher
  2. Perform an action on the matched view
Note: actionOnItem method is not overloaded, method overloading with generic parameters is not possible.
Parameters
viewHolderMatcher Matcher: a Matcher that matches an item view holder in RecyclerView
viewAction ViewAction: the action that is performed on the view matched by viewHolderMatcher
Returns
RecyclerViewActions.PositionableRecyclerViewAction
Throws
PerformException if there are more than one items matching given viewHolderMatcher.

actionOnItem

RecyclerViewActions.PositionableRecyclerViewAction actionOnItem (Matcher<View> itemViewMatcher, 
                ViewAction viewAction)

Performs a ViewAction on a view matched by viewHolderMatcher.

  1. Scroll Recycler View to the view matched by itemViewMatcher
  2. Perform an action on the matched view
Parameters
itemViewMatcher Matcher: a Matcher that matches an item view in RecyclerView
viewAction ViewAction: the action that is performed on the view matched by itemViewMatcher
Returns
RecyclerViewActions.PositionableRecyclerViewAction
Throws
PerformException if there are more than one items matching given viewHolderMatcher.

actionOnItemAtPosition

ViewAction actionOnItemAtPosition (int position, 
                ViewAction viewAction)

Performs a ViewAction on a view at position.

  1. Scroll Recycler View to position
  2. Perform an action on the view at position
Parameters
position int: position of a view in RecyclerView
viewAction ViewAction: the action that is performed on the view matched by itemViewMatcher
Returns
ViewAction

scrollTo

RecyclerViewActions.PositionableRecyclerViewAction scrollTo (Matcher<View> itemViewMatcher)

Returns a ViewAction which scrolls RecyclerView to the view matched by itemViewMatcher.

This approach uses RecyclerView.ViewHolders to find the target view. It will create one ViewHolder per item type and bind adapter data to the ViewHolder. If the itemViewMatcher matches a ViewHolder the current position of the View is used to perform a scrollToPosition(int).

Parameters
itemViewMatcher Matcher: a Matcher that matches an item view in RecyclerView
Returns
RecyclerViewActions.PositionableRecyclerViewAction
Throws
PerformException if there are more than one items matching given viewHolderMatcher.

scrollToHolder

RecyclerViewActions.PositionableRecyclerViewAction scrollToHolder (Matcher viewHolderMatcher)

Returns a ViewAction which scrolls RecyclerView to the view matched by viewHolderMatcher.

This approach uses RecyclerView.ViewHolders to find the target view. It will create one ViewHolder per item type and bind adapter data to the ViewHolder. If the itemViewMatcher matches a ViewHolder the current position of the View is used to perform a scrollToPosition(int). Note: scrollTo method is not overloaded, method overloading with generic parameters is not possible.

Parameters
viewHolderMatcher Matcher: a Matcher that matches an item view holder in RecyclerView
Returns
RecyclerViewActions.PositionableRecyclerViewAction
Throws
PerformException if there are more than one items matching given viewHolderMatcher.

scrollToPosition

ViewAction scrollToPosition (int position)

Returns a ViewAction which scrolls RecyclerView to a position.

Parameters
position int: the position of the view to scroll to
Returns
ViewAction