Save the date! Android Dev Summit is coming to Mountain View, CA on November 7-8, 2018.

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 <VH extends RecyclerView.ViewHolder> RecyclerViewActions.PositionableRecyclerViewAction actionOnHolderItem(Matcher<VH> viewHolderMatcher, ViewAction viewAction)

Performs a ViewAction on a view matched by viewHolderMatcher.

static <VH extends RecyclerView.ViewHolder> RecyclerViewActions.PositionableRecyclerViewAction actionOnItem(Matcher<View> itemViewMatcher, ViewAction viewAction)

Performs a ViewAction on a view matched by viewHolderMatcher.

static <VH extends RecyclerView.ViewHolder> ViewAction actionOnItemAtPosition(int position, ViewAction viewAction)

Performs a ViewAction on a view at position.

static <VH extends RecyclerView.ViewHolder> RecyclerViewActions.PositionableRecyclerViewAction scrollTo(Matcher<View> itemViewMatcher)

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

static <VH extends RecyclerView.ViewHolder> RecyclerViewActions.PositionableRecyclerViewAction scrollToHolder(Matcher<VH> viewHolderMatcher)

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

static <VH extends RecyclerView.ViewHolder> 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<VH> 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<VH> 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