0

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

请帮助我并告诉我原因。

主要活动:

public class Main extends Activity {

    DisplayClass display;

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

        display = new DisplayClass();

        display.showMain();
    }

}

显示类:

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();”。

请帮我。

4

1 回答 1

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 Activity......

DisplayClass.showMain(this);
于 2014-04-10T00:27:47.690 回答