This question already has answers here:
What is a NullPointerException, and how do I fix it?
                                
                                    (12个答案)
                                
                        
                                12个月前关闭。
            
                    
我正在使用roboelectric编写函数的单元测试,并且面临空指针异常,但是我已经分配了变量。
我对此很陌生,所以如果有任何错误,请原谅我。

@Before
public void setup() {

    intent = new Intent(context, Xyz.class);
    intent.putExtra("abc", "abc");

    xyz = Robolectric.buildActivity(Xyz.class, intent)
            .create().start().get();
}

@Test
public void onConfigurationChanged() {
    int currentOrientation = xyz.getRequestedOrientation();
    RelativeLayouot gifframe = xyz.findViewById(R.id.gif_frame);
    assertNotNull(gifframe);
    assertEquals(gifframe.getVisibility(), VISIBLE);
    }
}


我希望gifframe能够获得可见性,但是gifframe返回空值。我搜索此方案的任何地方都是在调用它之前分配值。我已经在上一行中指定了值。

最佳答案

当你做

 RelativeLayouot gifframe = xyz.findViewById(R.id.gif_frame);


确保您已完成setContentView(R.layout.thefilewhichhas_gif_frame)

含义确保它知道需要去哪里寻找gif_frame

09-12 18:27