2013-05-27 2 views
3

Я пытаюсь разработать приложение. Он имеет некоторые виды деятельности, такие как: SplashActivity, MainMenuActivity, и GameActivity.Не удалось возобновить работу в libGDX

Теперь все три мероприятия распространяются на BaseActivity, который также распространяется на AndroidApplication libgdx.

В SplashActivity и MainMenuActivity, я написал чистый специфический код для Android, используя onCreate, setContentView макет и т. Д. Я не написал никакого кода libgdx для этих видов деятельности.

Активность переходов, как это, SplashActivity (он получает отделку) -> MainMenuActivity (не получить законченный) -> GameActivity

On, GameActivity, я setContentView MyGame макет, и написать этот код:

public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.mygame); 

     gbbrdlyot1 = (RelativeLayout) findViewById(R.id.gbbrdlyot1); 
     gameBoard = new RelativeLayout(this); 
     RelativeLayout.LayoutParams layoutParams = new RelativeLayout.LayoutParams(newBlockWidth, newBlockWidth); 
     gameBoard.setLayoutParams(layoutParams); 

     View gameView = initializeForView(new GameView(), true); 
     gameBoard.addView(gameView); 

     gbbrdlyot1.addView(gameBoard); 
} 

Но я получаю RuntimeException на SplashActivity, я не знаю, почему,

05-27 12:56:22.609: java.lang.RuntimeException: Unable to resume activity com.game.MyGame/com.game.MyGame.SplashActivity}: java.lang.NullPointerException 
05-27 12:56:22.609: at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2124) 
05-27 12:56:22.609: at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2139) 
05-27 12:56:22.609: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1672) 
05-27 12:56:22.609: at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
05-27 12:56:22.609: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935) 
05-27 12:56:22.609: at android.os.Handler.dispatchMessage(Handler.java:99) 
05-27 12:56:22.609: at android.os.Looper.loop(Looper.java:130) 
05-27 12:56:22.609: at android.app.ActivityThread.main(ActivityThread.java:3687) 
05-27 12:56:22.609: at java.lang.reflect.Method.invokeNative(Native Method) 
05-27 12:56:22.609: at java.lang.reflect.Method.invoke(Method.java:507) 
05-27 12:56:22.609: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 
05-27 12:56:22.609: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 
05-27 12:56:22.609: at dalvik.system.NativeStart.main(Native Method) 
05-27 12:56:22.609: Caused by: java.lang.NullPointerException 
05-27 12:56:22.609: at com.badlogic.gdx.backends.android.AndroidApplication.onResume(AndroidApplication.java:249) 
05-27 12:56:22.609: at com.game.MyGame.SplashActivity.onResume(SplashActivity.java:43) 
05-27 12:56:22.609: at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1150) 
05-27 12:56:22.609: at android.app.Activity.performResume(Activity.java:3832) 
05-27 12:56:22.609: at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2114) 
05-27 12:56:22.609: ... 12 more 
+0

Подобно тому, как PT сказал, что ваш SplashActivity не инициализировал libgdx, вы можете увидеть строку 249 AndroidApplication ((AndroidInput) getInput()). RegisterSensorListeners(); вход инициализируется при вызове AndroidApplication # initialize (..), который вы не использовали, t вызывается в SplashActivity # onCreate(), поэтому генерируется исключение NullPointerException. –

ответ

2

Эта часть трассировки стека:

05-27 12:56:22.609: Caused by: java.lang.NullPointerException 
05-27 12:56:22.609: at com.badlogic.gdx.backends.android.AndroidApplication.onResume(AndroidApplication.java:249) 
05-27 12:56:22.609: at com.game.MyGame.SplashActivity.onResume(SplashActivity.java:43) 

Подразумевается, что ваш SplashActivity расширяет Libgdx AndroidApplication. Но Вы писали:

В SplashActivity, MainMenuActivity, я написал чистый андроид конкретный код, используя OnCreate, setcontentView макет и т.д. Я не писать код libgdx на что деятельность.

Но если вы распространяете AndroidApplication, вы получаете кучу кода Libgdx, который работает при паузе и возобновлении времени. Но вы еще не инициализированы Libgdx еще (так, что, кажется, происходят как побочный эффект создания ваших GameActivity «S.

Держите чистую Android деятельность чисто, и не распространяются на классах Libgdx.

Смежные вопросы