java – Espresso onData在视图上执行“加载适配器数据”时出错
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – Espresso onData在视图上执行“加载适配器数据”时出错,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2138字,纯文字阅读大概需要4分钟。
内容图文
我有一个应用程序,有ListView,我想找到LinearLayout,id = order_untake_jijia_listview_jia
代码是:
onData(withClassName(endsWith("ListView")))
.inAdapterView(allOf(withId(R.id.order_untake_jijia_listview_ll), hasSibling(withText("9.0"))))
.atPosition(0).onChildView(withId(R.id.order_untake_jijia_listview_jia));
dataInteraction.perform(ViewActions.click());
但我有错误:
Error performing 'load adapter data' on view '(with id: com.edaixi:id/order_untake_jijia_listview_ll and has sibling: with text: is "9.0")'.
Caused by: java.lang.RuntimeException: Action will not be performed because the target view does not match one or more of the following constraints:
(is assignable from class: class android.widget.AdapterView and is displayed on the screen to the user)
Target view: "LinearLayout{id=2131493753, res-name=order_untake_jijia_listview_ll, visibility=VISIBLE, width=170, height=50, has-focus=false, has-focusable=false, has-window-focus=true, is-clickable=false, is-enabled=true, is-focused=false, is-focusable=false, is-layout-requested=false, is-selected=false, root-is-layout-requested=false, has-input-connection=false, x=572.0, y=25.0, child-count=3}"
解决方法:
您正在错误地使用onData.
onData采用对象匹配器 – 它旨在匹配用于填充列表的自定义模型对象.因此,如果你有一个简单的字符串列表,你会说onData(instanceOf(String.class)).atPosition(0)或onData(是(“这是位于0的精确字符串”)).
inAdapterView用于匹配包含数据的特定适配器视图实例.当您需要在屏幕上显示多个列表时,您需要这样做.例如,如果你有一个名为R.id.list1的ListView和第二个包含字符串的R.id.list2,你会说onData(is(“The String”)).inAdapterView(withId(R.id.list1) )匹配第一个列表中的对象.
如果只需要单击适配器中的单个项目,通常也不需要在这些情况下指定子视图.您通常使用onChildView对子视图项执行断言,或者如果您碰巧在该子视图上有单独的专用单击侦听器.
因此,似乎您的情况过于复杂,您应该能够将代码更新为以下内容:
onData(instanceOf(MyCustomClassOfObjectsInAdapter.java))
.atPosition(0)
.perform(click());
如果这不能解决您的问题,请提供一些列表项目的布局代码,以及包含listview的主屏幕布局,以及带有显示示例的屏幕截图,并阐明您要尝试的内容match / act / assert,我可以尝试引导您完成所需的正确方法集.
希望有所帮助!
内容总结
以上是互联网集市为您收集整理的java – Espresso onData在视图上执行“加载适配器数据”时出错全部内容,希望文章能够帮你解决java – Espresso onData在视图上执行“加载适配器数据”时出错所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。