# RecyclerViewActions.PositionableRecyclerViewAction

Artifact: [androidx.test.espresso:espresso-contrib](https://developer.android.com/jetpack/androidx/releases/test-espresso) [View Source](https://cs.android.com/search?q=file:androidx/test/espresso/contrib/RecyclerViewActions.java+class:androidx.test.espresso.contrib.RecyclerViewActions.PositionableRecyclerViewAction)

*** ** * ** ***


```
public interface RecyclerViewActions.PositionableRecyclerViewAction extends ViewAction
```

<br />

*** ** * ** ***

Most RecyclerViewActions are given a matcher to select a particular view / viewholder within the RecyclerView. In this case the default behaviour is to expect that the matcher matches 1 and only one item within the RecyclerView.

This interface gives users the ability to override that type of behaviour and explicitly select an item in the RecyclerView at a given position. This is similar to on the onData(...).atPosition() api for AdapterViews.

## Summary

| ### Public methods |
|---|---|
| `abstract https://developer.android.com/reference/androidx/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction` | `https://developer.android.com/reference/androidx/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction#atPosition(int)(int position)` Returns a new ViewAction which will cause the ViewAction to operate upon the position-th element which the matcher has selected. |

| ### Inherited methods |
|---|
| From [androidx.test.espresso.ViewAction](https://developer.android.com/reference/androidx/test/espresso/ViewAction) |---|---| | `abstract https://junit.org/junit4/javadoc/latest/org/hamcrest/Matcher.html<https://developer.android.com/reference/android/view/View.html>` | `https://developer.android.com/reference/androidx/test/espresso/ViewAction#getConstraints()()` A mechanism for ViewActions to specify what type of views they can operate on. | | `abstract https://developer.android.com/reference/java/lang/String.html` | `https://developer.android.com/reference/androidx/test/espresso/ViewAction#getDescription()()` Returns a description of the view action. | | `abstract void` | `https://developer.android.com/reference/androidx/test/espresso/ViewAction#perform(androidx.test.espresso.UiController,android.view.View)(https://developer.android.com/reference/androidx/test/espresso/UiController uiController, https://developer.android.com/reference/android/view/View.html view)` Performs this action on the given view. | |

## Public methods

### atPosition

```
abstract RecyclerViewActions.PositionableRecyclerViewAction atPosition(int position)
```

Returns a new ViewAction which will cause the ViewAction to operate upon the position-th element which the matcher has selected.

| Parameters |
|---|---|
| `int position` | a 0-based index into the list of matching elements within the RecyclerView. |

| Returns |
|---|---|
| `https://developer.android.com/reference/androidx/test/espresso/contrib/RecyclerViewActions.PositionableRecyclerViewAction` | PositionableRecyclerViewAction a new ViewAction focused on a particular position. |

| Throws |
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException.html` | if position \<0. |