我有一个异构的 RecyclerView,我正试图将其滚动到第30个位置的项。我的测试通过了,但实际上我看不到屏幕滚动。
onView(withId(R.id.content_view))
.perform(RecyclerViewActions.scrollToPosition(30));
这是我正在做的滚动操作。
我有一个异构的 RecyclerView,我正试图将其滚动到第30个位置的项。我的测试通过了,但实际上我看不到屏幕滚动。
onView(withId(R.id.content_view))
.perform(RecyclerViewActions.scrollToPosition(30));
这是我正在做的滚动操作。
使用 scrollToHolder()
:
onView(withId(R.id.recyclerViewId))
.perform(scrollToHolder(viewHolderMatcher(some_parameter_to_match)));
viewHolderMatcher(some_parameter_to_match)
返回 Matcher<RecyclerView.ViewHolder>
,表示 RecyclerView 中 holder/item 的位置。
或者只通过位置匹配:
onView(withId(rvLayoutId))
.perform(actionOnItemAtPosition(256, scrollTo()));
最后一个是来自这里。
onView(withId(R.id.recyclerview)).perform(
RecyclerViewActions.scrollToPosition<RecyclerView.ViewHolder>(
YOUR_POSITION
)
)