java - 对一项 Activity 使用多个 XML 布局

标签 java nullpointerexception

我在 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/

相关文章:

java - 什么是NullPointerException,我该如何解决?

android - 包含 fragment 的框架布局中的 View 的 findViewById 失败

android - 如何使用 Intent 从 Fragment 打开 Activity?

java - 什么是 NullPointerException,我该如何解决?

java - Android textField 填充父级的剩余高度

java - 在java中将鼠标监听器添加到矩形

java - 控制台输入在不应该等待的时候等待

java - Hibernate 的 persist() 方法

java - Spring MVC 3.0 从 Sql 查询中获取值

java.lang.NullPointerException : While displaying all my user files