Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java setContentView引发NullPointerException_Java_Android_Class_Nullpointerexception_Setcontentview - Fatal编程技术网

Java setContentView引发NullPointerException

Java setContentView引发NullPointerException,java,android,class,nullpointerexception,setcontentview,Java,Android,Class,Nullpointerexception,Setcontentview,我有一个MainActivity和一个扩展的DsiplayClass。在这个DisplayClass中,我想通过setContentView更改ContentView,但我得到的只是一个NullPointerException 请帮帮我,告诉我为什么 main活动: public class Main extends Activity { DisplayClass display; @Override protected void onCreate(Bundle sa

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

请帮帮我,告诉我为什么

main活动:

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);
    }

}
DisplayClass:

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();”中引起的


请帮帮我。

你到底想在这里做什么?你应该把你的
setContentView(R.layout.main菜单)Main
class'
onCreate()
方法中的code>。完全删除
DisplayClass

获取空指针的原因是,
Activity
DisplayClass
)实际上尚未“启动”

然后在
Main
活动中的
onCreate
方法中

DisplayClass.showMain(this);

想清理我的代码。把所有的东西放在一起与展示什么有关。请原谅我的英语能力不足。我不建议这样做,好先生。但是,如果您确实有这样做的理由,那么就不应该让
DisplayClass
extend
Main
。相反,您应该只创建一个常规类,然后使用静态方法
setMain(Activity main)
并且在方法中调用
main.setContentView(R.layout.main菜单)
。非常感谢!!!!目前我是Java的初学者。谢谢你的帮助和耐心。