I am using espresso-contrib to perform actions on a RecyclerView, and it works as it should, ex:
onView(withId(R.id.recycler_view))
.perform(Rec
In my case, it was necessary to merge Danny Roa's and riwnodennyk's solution:
onView(withId(R.id.recyclerview))
.perform(RecyclerViewActions.scrollToPosition(80))
.check(matches(atPositionOnView(80, withText("Test Test"), R.id.targetview)));
and the method :
public static Matcher atPositionOnView(final int position, final Matcher itemMatcher,
@NonNull final int targetViewId) {
return new BoundedMatcher(RecyclerView.class) {
@Override
public void describeTo(Description description) {
description.appendText("has view id " + itemMatcher + " at position " + position);
}
@Override
public boolean matchesSafely(final RecyclerView recyclerView) {
RecyclerView.ViewHolder viewHolder = recyclerView.findViewHolderForAdapterPosition(position);
View targetView = viewHolder.itemView.findViewById(targetViewId);
return itemMatcher.matches(targetView);
}
};
}