点击监听错误
ClickListener error
在我的游戏项目中,ClickListener 总是出现错误:
FATAL EXCEPTION: GLThread 20791
Process: com.joelbrun.jetskirider.android, PID: 27784
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean com.badlogic.gdx.scenes.scene2d.ui.Button.addListener(com.badlogic.gdx.scenes.scene2d.EventListener)' on a null object reference
at com.joelbrun.jetskirider.screens.MainMenu.show(MainMenu.java:40)
at com.badlogic.gdx.Game.setScreen(Game.java:61)
at com.joelbrun.jetskirider.JetskiRider.create(JetskiRider.java:11)
at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:241)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1511)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1239)
这是导致错误的代码:
startButton.addListener(new ClickListener(){
@Override
public void clicked(InputEvent event, float x, float y) {
((Game) Gdx.app.getApplicationListener()).setScreen(new Gamescreen());
}
});
那个错误意味着startButton
是null
,你必须先初始化它才能使用它。
在addListener之前,使用findViewById来初始化Button,可能对你有帮助。
在我的游戏项目中,ClickListener 总是出现错误:
FATAL EXCEPTION: GLThread 20791
Process: com.joelbrun.jetskirider.android, PID: 27784
java.lang.NullPointerException: Attempt to invoke virtual method 'boolean com.badlogic.gdx.scenes.scene2d.ui.Button.addListener(com.badlogic.gdx.scenes.scene2d.EventListener)' on a null object reference
at com.joelbrun.jetskirider.screens.MainMenu.show(MainMenu.java:40)
at com.badlogic.gdx.Game.setScreen(Game.java:61)
at com.joelbrun.jetskirider.JetskiRider.create(JetskiRider.java:11)
at com.badlogic.gdx.backends.android.AndroidGraphics.onSurfaceChanged(AndroidGraphics.java:241)
at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1511)
at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1239)
这是导致错误的代码:
startButton.addListener(new ClickListener(){
@Override
public void clicked(InputEvent event, float x, float y) {
((Game) Gdx.app.getApplicationListener()).setScreen(new Gamescreen());
}
});
那个错误意味着startButton
是null
,你必须先初始化它才能使用它。
在addListener之前,使用findViewById来初始化Button,可能对你有帮助。