是否可以在ViewPager中单击ListView的第一项?
我已经尝试过这样的工作:
onData(anything()).inAdapterView(withId(R.id.myListView)).atPosition(0).perform(click());
。
但据我所知:Testing ViewPager with Espresso. How perfom action to a button of an Item?你不能将onData用于ViewPager。 另外,如果我运行测试,我会得到多个匹配的AmbiguousViewMatcherException。
android.support.test.espresso.AmbiguousViewMatcherException: 'with id: my.awesome.app:id/myListView' matches multiple views in the hierarchy.
Problem views are marked with '****MATCHES****' below.
如果我像这样onView(allOf(withId(R.id.myListView),isDisplayed())).perform(click());
运行测试,则永远不会点击第一项。
有没有其他方法可以点击列表的第一项?
答案 0 :(得分:3)
试试这个:
onData(anything())
.inAdapterView(allOf(withId(R.id.myListView), isCompletelyDisplayed()))
.atPosition(0).perform(click());
当你有一个AmbiguousViewMatcherException时,如果我没有错,这可能与屏幕上显示的“myListView”相匹配。