Android Espresso ListView click item

Aleksandr Gorshkov picture Aleksandr Gorshkov · Jan 19, 2015 · Viewed 11.9k times · Source

I have ListView with pictures and text. When I try to click item, I get error

android.support.test.espresso.AmbiguousViewMatcherException: 'with id: com.cifrasoft.telefm:id/cardsGridView' matches multiple views in the hierarchy.
Problem views are marked with '****MATCHES****' below.

I use the following code:

onData(hasToString(startsWith("Item Text")))
            .inAdapterView(withId(R.id.cardsGridView))
            .perform(click());

Can I click ListView using position of Adapter, without matches or startWith?

Answer

user846316 picture user846316 · Feb 14, 2015

Try with atPosition(). e.g.

onData(hasToString(startsWith("Item Text")))
            .inAdapterView(withId(R.id.cardsGridView)).atPosition(0)
            .perform(click());

with index 0, it will click on the first matching view found.