大家好,
我试图在网上找到这个问题的答案,但我找不到解决问题的方法......
所以也许你们中的一些人知道我能做些什么来解决它。
所以我有一个游戏(表面视图和线程吸引了cavnas和所有那些游戏性的东西)并且在肖像模式下一切正常,但我想让我的游戏以横向模式播放,所以我改变了模式在android清单中如此:
android:screenOrientation="landscape"
哪个工作正常,一切都是一样的,除非我想关闭活动(调用onPause方法)。当我收到应用程序需要强制关闭的错误。
现在有些人通过添加
解决了他们的问题 android:configChanges="orientation|screenSize|keyboard|keyboardHidden|navigation"
对于他们的清单文件,但这对我来说不起作用,我仍然继续NullPointerException
。
这是logcat:
07-24 21:27:12.160: E/AndroidRuntime(5272): FATAL EXCEPTION: main
07-24 21:27:12.160: E/AndroidRuntime(5272): java.lang.RuntimeException: Unable to pause activity {com.example.fishtruck/com.example.fishtruck.Start}: java.lang.NullPointerException
07-24 21:27:12.160: E/AndroidRuntime(5272): at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2706)
07-24 21:27:12.160: E/AndroidRuntime(5272): at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2662)
07-24 21:27:12.160: E/AndroidRuntime(5272): at android.app.ActivityThread.handlePauseActivity(ActivityThread.java:2640)
07-24 21:27:12.160: E/AndroidRuntime(5272): at android.app.ActivityThread.access$800(ActivityThread.java:123)
07-24 21:27:12.160: E/AndroidRuntime(5272): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1154)
07-24 21:27:12.160: E/AndroidRuntime(5272): at android.os.Handler.dispatchMessage(Handler.java:99)
07-24 21:27:12.160: E/AndroidRuntime(5272): at android.os.Looper.loop(Looper.java:137)
07-24 21:27:12.160: E/AndroidRuntime(5272): at android.app.ActivityThread.main(ActivityThread.java:4424)
07-24 21:27:12.160: E/AndroidRuntime(5272): at java.lang.reflect.Method.invokeNative(Native Method)
07-24 21:27:12.160: E/AndroidRuntime(5272): at java.lang.reflect.Method.invoke(Method.java:511)
07-24 21:27:12.160: E/AndroidRuntime(5272): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:825)
07-24 21:27:12.160: E/AndroidRuntime(5272): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:592)
07-24 21:27:12.160: E/AndroidRuntime(5272): at dalvik.system.NativeStart.main(Native Method)
07-24 21:27:12.160: E/AndroidRuntime(5272): Caused by: java.lang.NullPointerException
07-24 21:27:12.160: E/AndroidRuntime(5272): at com.example.fishtruck.Start.onPause(Start.java:113)
07-24 21:27:12.160: E/AndroidRuntime(5272): at android.app.Activity.performPause(Activity.java:4563)
07-24 21:27:12.160: E/AndroidRuntime(5272): at android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1197)
07-24 21:27:12.160: E/AndroidRuntime(5272): at android.app.ActivityThread.performPauseActivity(ActivityThread.java:2693)
07-24 21:27:12.160: E/AndroidRuntime(5272): ... 12 more
并且(不确定是否相关,但这是什么)这里是我如何调用onPause
方法:
view.stopThread();
this.finish(); //this is called in the activity and view = surfaceView
stopThread()
方法的调用如下:
if(thread!=null){
thread.interrupt();
thread.setRunning(false);
isStopped = true;
thread = null;
}
答案 0 :(得分:0)
你在Start.java的第113行有什么对象?你在那里的对象没有正确启动(它为空),这会使你的应用程序崩溃。