setContentView抛出NullPointerException

时间:2014-04-10 00:23:33

标签: java android class nullpointerexception setcontentview

我有一个MainActivity和一个扩展的DsiplayClass。在这个DisplayClass中,我想通过setContentView更改ContentView,但我得到的只是一个NullPointerException。

请帮帮我,告诉我原因。

MainActivity:

public class Main extends Activity {

    DisplayClass display;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        display = new DisplayClass();

        display.showMain();
    }

}

DisplayClass:

public class DisplayClass extends Main {

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    public void DisplayClass() {

    }

    public void showMain() {
        setContentView(R.layout.mainmenu);
    }

}

NullPointerException是在我设置" setContentView(R.layout.mainmenu);"的行中引起的。在这一行" display.showMain();"。

请帮帮我。

1 个答案:

答案 0 :(得分:1)

你到底想要做什么?您应该将setContentView(R.layout.mainmenu);放入Main班级' onCreate()方法。完全删除DisplayClass

你得到一个空指针的原因是因为Activity,(DisplayClass),实际上并没有被启动。"

public class DisplayClass {
    public static showMain(Activity main) {
        main.setContentView(R.id.layoutmain);
    }
}

然后在onCreate Main的{​​{1}}方法内...

Activity