我在 2 ** 行上收到 NullPointerException
,有人可以向我解释为什么会发生这种情况吗?我也尝试过使用 switch/case 语句,但没有成功。
String test;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
**if(test.equals("One")) {**
setContentView(R.layout.activity_one);
} else if(test.equals("Two")){
setContentView(R.layout.activity_two);
} else {
setContentView(R.layout.activity_main);
}
最佳答案
test
为 null,并引发 NullPointerException。
您应该初始化该变量。
此外,当您需要检查某个带有常量的字符串以将常量变量放入 this
对象时会更好,例如更改此:
if(test.equals("One"))
对此:
if("One".equals(test))
这样,即使测试为空,您也是安全的。
关于java - 对一项 Activity 使用多个 XML 布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34646373/