I have an MainActivity and an extended DsiplayClass. Out of this DisplayClass I wanted to change the ContentView via setContentView, but all I got is an NullPointerException.
Please help me and tell me why.
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 is caused in the line where I set the "setContentView(R.layout.mainmenu);" and in this line "display.showMain();".
Please help me.
What exactly are you trying to do here? You should put your setContentView(R.layout.mainmenu);
in your Main
class' onCreate()
method. Delete DisplayClass
completely.
The reason why you are getting a null pointer is because that Activity
, (DisplayClass
), hasn't actually been "started."
public class DisplayClass {
public static showMain(Activity main) {
main.setContentView(R.id.layoutmain);
}
}
And then inside the onCreate
method in your Main
Activity
...
DisplayClass.showMain(this);