public final class

RecyclerViewActions

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

Class Overview

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.
[Expand]
Inherited Methods
From class java.lang.Object

Public Methods

public static 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.

public static 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.

public static 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

public static 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.

public static 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.

public static 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