 <p>I have previously used these helper functions in a slightly different state to handle most of what we need with listviews:</p> <pre><code>public View getViewAtIndex(final ListView listElement, final int indexInList, Instrumentation instrumentation) { ListView parent = listElement; if (parent != null) { if (indexInList &lt;= parent.getAdapter().getCount()) { scrollListTo(parent, indexInList, instrumentation); int indexToUse = indexInList - parent.getFirstVisiblePosition(); return parent.getChildAt(indexToUse); } } return null; } public &lt;T extends AbsListView&gt; void scrollListTo(final T listView, final int index, Instrumentation instrumentation) { instrumentation.runOnMainSync(new Runnable() { @Override public void run() { listView.setSelection(index); } }); instrumentation.waitForIdleSync(); } </code></pre> <p>With these your method would be:</p> <pre><code>ListView list = solo.getCurrentListViews().get(0); for(int i=0; i &lt; list.getAdapter().getCount(); i++){ solo.clickOnView(getViewAtIndex(list, i, getInstrumentation())) } </code></pre>