如何在Espresso中选择ListView



我正在用浓缩咖啡进行测试,例如,我在一个页面中有多个AdapterViews,with ID:r.id.list1,r.id.list2,当我使用

ondata(withmainvalue(" xx"))。check(artectes(isdisplayed()))

public static Matcher<Object> withMainValue(final String value) {
    return new BoundedMatcher<Object,
                            GuessYouLikeGoodItem.DataEntity>(GuessYouLikeGoodItem.DataEntity.class) {
        @Override public void describeTo(Description description) {
            description.appendText("has value " + value);
        }
        @Override public boolean matchesSafely(
                        GuessYouLikeGoodItem.DataEntity item) {
            return item.store_name.contains(value);
        }
    };
}
, 

浓缩咖啡报告:

    android.support.test.espresso.AmbiguousViewMatcherException: 'is assignable from class: class android.widget.AdapterView' matches multiple views in the hierarchy.
    Problem views are marked with '****MATCHES****' below.

如何选择特定的listView并在其中尝试ondata?

如果您有多个带有唯一ID的ListView,则应该可以检查列表之一

onView(withId(R.id.list1)).check(matches(isDisplayed()));

如果您想进入AdapterView,这将允许您单击listView

的元素
onData(anything()).inAdapterView(withId(R.id.list1)).atPosition(0).perform(click());