Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android espresso Android Espresso-对动态添加到父视图的recyclerview执行操作_Android Espresso - Fatal编程技术网

Android espresso Android Espresso-对动态添加到父视图的recyclerview执行操作

Android espresso Android Espresso-对动态添加到父视图的recyclerview执行操作,android-espresso,Android Espresso,我对浓缩咖啡很陌生,我觉得这是可行的,但我不确定具体怎么做 我知道您可以使用以下方式单击RecyclerView行: onView(withId(viewId)).perform(RecyclerViewActions.actionOnItemAtPosition(position, click())); 我遇到的问题是,在我测试的代码中,RecyclerView是在运行时添加的。如何获取要传递给此函数的viewId?或者,我如何才能让它工作?如果RecyclerView没有id,您仍然可以使

我对浓缩咖啡很陌生,我觉得这是可行的,但我不确定具体怎么做

我知道您可以使用以下方式单击RecyclerView行:

onView(withId(viewId)).perform(RecyclerViewActions.actionOnItemAtPosition(position, click()));

我遇到的问题是,在我测试的代码中,RecyclerView是在运行时添加的。如何获取要传递给此函数的viewId?或者,我如何才能让它工作?

如果RecyclerView没有id,您仍然可以使用其他匹配器:

// Any RecyclerView
onView(isAssignableFrom(RecyclerView.class)).perform(...);

// RecyclerView that is a child/descendant of a container view
onView(allOf(isAssignableFrom(RecyclerView.class), isDescendantOfA(withId(container_id)))).perform(...);

是否要对特定行中的子视图执行操作?我想获取对recyclerview本身的引用。它是容器视图的子视图,我有它的id,但它是在运行时以编程方式添加到容器视图中的。这与答案非常接近,但存在多个recyclerviews,因此现在我遇到了一个错误:“AmbiguousViewMatcherException此匹配器匹配层次结构中的多个视图”。有没有办法只选择第一个视图?嗯,回收者视图有多独特?在这个“容器”视图中,它们是如何布局的?你能发布一段xml布局或代码吗?这确实解决了最初的问题,我想我可以从这里找到答案。谢谢你,摇滚乐!