Android Robolectric单击RecyclerView项目会有什么效果?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (31)

有没有什么方法可以模仿RecyclerViewRobolectric 的物品点击?

到目前为止,我试图在第一个可见的位置获得该位置RecyclerView,但这总是如此null。它一直在回归0,并findViewHolderForPosition一直如此null。适配器从中返回一个非0数字getItemCount()

提问于
用户回答回答于

似乎问题是需要在Robolectric中手动进行测量和布局。调用它可以解决问题:

recyclerView.measure(0, 0);
recyclerView.layout(0, 0, 100, 10000);
用户回答回答于

使用Robolectric 3,你可以使用visible():

ActivityController<MyActivity> activityController = Robolectric.buildActivity(MyActivityclass);
activityController.create().start().visible();

ShadowActivity myActivityShadow = shadowOf(activityController.get()); 

RecyclerView currentRecyclerView = ((RecyclerView) myActivityShadow.findViewById(R.id.myrecyclerid));
    currentRecyclerView.getChildAt(0).performClick();

扫码关注云+社区