我正在尝试使用 Robolectric 测试一些代码。
我的代码膨胀了一个布局,然后尝试通过调用findViewById
这个布局来检索一个视图。布局膨胀工作正常。但是findViewById
,在此布局上始终返回 null。
我可以在调试器中看到膨胀布局的所有(阴影)子视图都在那里并且设置了它们的属性。但是每个孩子的id都设置为0。这是为什么呢?我错过了什么吗?
设备或仿真器(没有 robolectric)上的实际代码工作正常,但是当我尝试使用 robolectric 运行它时,它会按照描述失败。
基本上我的代码如下所示:
LayoutInflater inflater = (LayoutInflater) Robolectric.application.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View layout = inflater.inflate(R.layout.timeline_list_item, null);
TextView view = (TextView) layout.findViewById(R.id.listItem_date);
//why is view null here!
view.setText("test");
问候弗兰克