我有ExpandableListView
,我想click()
其中一个孩子。
我尝试了 LOADS OF 不同的方式,但我似乎无法理解Espresso的工作原理。
例如,为什么这段代码不起作用?
onData(withId(R.id.execexpList)).onChildView(is(withId(200))).perform(click())
出于某种神圣的原因,它会返回"模糊匹配"我的ExpandableLIstView和我的其他ListView,但它们有不同的ID。
任何人都可以帮助我吗?
答案 0 :(得分:1)
onData()
用于匹配ListView适配器内的项目,而不是实际视图。
onChildView()
用于匹配onData()
中匹配的ListView项的后代。
如果层次结构中有多个AdapterView,则必须使用inAdapterView(Matcher<View>viewMatcher)
。
官方API guide更详细地解释了onData()
用法。