我有一个ID为“listview”的列表视图,显示了30个ID为“bground”的项目。我可以轻松点击第一项:
ViewInteraction item = onView(
allOf(withId(R.id.bground),
childAtPosition(withId(R.id.listview), 1),
isDisplayed()));
item.perform(click());
但是如果我尝试单击第5个元素(仅使用childAtPosition中的索引5),我会得到RuntimeException,因为视图的区域不会显示给用户。
好的,我首先必须先将元素滚动到屏幕上。我的任何编码
onView (...).perform(scrollTo())
被拒绝,因为我必须使用onData。和我的任何编码
onData (...).perform(scrollTo())
导致AmbiguousViewMatcherException。
知道如何使用scrollTo或者如何点击下面的元素吗?
谢谢和最诚挚的问候 格哈德
答案 0 :(得分:0)
为了点击listView我们应该使用onData而不是onView,尽管我已经在recycyler视图中使用
实现了类似的行为onView(withRecyclerView(RecycylerViewId).
atPositionOnView(0, Viewtoclickinsiderecyclerview)).
perform(scrollTo(), click());
在listview中你可能只需要用onData替换onView
无论如何,您可以使用以下链接了解如何使用listview实现 https://google.github.io/android-testing-support-library/docs/espresso/lists/