2014-04-15 2 views
0

나는 안드로이드 개발에 대한 지식이 부족하기 때문에 미리 사과드립니다.안드로이드 게임이 뒤로 버튼과 메뉴 버튼에서 충돌합니다

자바로 작성된 게임을 처음 만들었습니다. 메뉴 버튼이나 뒤로 버튼을 누르면 게임이 즉시 중단됩니다. Window를 사용하기 때문에 메뉴 버튼에서 충돌이 발생한다고 생각합니다. FEATURE_NO_TITLE, 나는 뒷쪽 단추가 게임을 충돌시키는 이유를 모르지만 (때로는 게임이 충돌하고 다른 시간에 다시 나가고 다시 열면 게임이 중단됩니다.) 홈 단추를 누르면, 그런 다음 응용 프로그램으로 돌아가려고하면 추락 할 것입니다. surfaceCreated 메서드

본질적으로이 버튼은 아무 것도하지 않아도되므로 실제로 원하는 모든 것입니다. do not do do not do. 그것들을 사용 불가능하게 만들면, 그렇게 간단하게 들리 겠지만, 그렇게하는데 성공하지 못했습니다.

편집 : logcat :

04-14 21:31:25.682: E/InputEventSender(24686): Exception dispatching finished signal. 
04-14 21:31:25.682: E/MessageQueue-JNI(24686): Exception in MessageQueue callback: handleReceiveCallback 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): java.lang.NullPointerException 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.support.v7.app.ActionBarImplICS.getThemedContext(ActionBarImplICS.java:302) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.support.v7.app.ActionBarImplJB.getThemedContext(ActionBarImplJB.java:20) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.support.v7.app.ActionBarActivityDelegate.getActionBarThemedContext(ActionBarActivityDelegate.java:208) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.support.v7.app.ActionBarActivityDelegate.getMenuInflater(ActionBarActivityDelegate.java:98) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.support.v7.app.ActionBarActivity.getMenuInflater(ActionBarActivity.java:71) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.app.Activity.onCreatePanelMenu(Activity.java:2579) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.support.v4.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:224) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.support.v7.app.ActionBarActivity.superOnCreatePanelMenu(ActionBarActivity.java:232) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.support.v7.app.ActionBarActivityDelegateICS.onCreatePanelMenu(ActionBarActivityDelegateICS.java:146) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.support.v7.app.ActionBarActivity.onCreatePanelMenu(ActionBarActivity.java:199) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.support.v7.app.ActionBarActivityDelegateICS$WindowCallbackWrapper.onCreatePanelMenu(ActionBarActivityDelegateICS.java:293) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:507) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at com.android.internal.policy.impl.PhoneWindow.onKeyDownPanel(PhoneWindow.java:964) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at com.android.internal.policy.impl.PhoneWindow.onKeyDown(PhoneWindow.java:1670) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:2227) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:4547) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4523) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4128) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4178) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4147) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4232) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4155) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4289) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4128) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4178) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4147) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4155) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4128) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4178) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4147) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4265) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:4415) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:2213) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:1885) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:1876) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:2190) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:141) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.os.MessageQueue.nativePollOnce(Native Method) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.os.MessageQueue.next(MessageQueue.java:132) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.os.Looper.loop(Looper.java:124) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at android.app.ActivityThread.main(ActivityThread.java:5450) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at java.lang.reflect.Method.invokeNative(Native Method) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at java.lang.reflect.Method.invoke(Method.java:525) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) 
04-14 21:31:25.712: E/MessageQueue-JNI(24686): at dalvik.system.NativeStart.main(Native Method) 
04-14 21:31:25.712: D/AndroidRuntime(24686): Shutting down VM 
04-14 21:31:25.712: W/dalvikvm(24686): threadid=1: thread exiting with uncaught exception (group=0x41d3f898) 
04-14 21:31:25.732: E/AndroidRuntime(24686): FATAL EXCEPTION: main 
04-14 21:31:25.732: E/AndroidRuntime(24686): java.lang.NullPointerException 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.support.v7.app.ActionBarImplICS.getThemedContext(ActionBarImplICS.java:302) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.support.v7.app.ActionBarImplJB.getThemedContext(ActionBarImplJB.java:20) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.support.v7.app.ActionBarActivityDelegate.getActionBarThemedContext(ActionBarActivityDelegate.java:208) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.support.v7.app.ActionBarActivityDelegate.getMenuInflater(ActionBarActivityDelegate.java:98) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.support.v7.app.ActionBarActivity.getMenuInflater(ActionBarActivity.java:71) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.app.Activity.onCreatePanelMenu(Activity.java:2579) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.support.v4.app.FragmentActivity.onCreatePanelMenu(FragmentActivity.java:224) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.support.v7.app.ActionBarActivity.superOnCreatePanelMenu(ActionBarActivity.java:232) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.support.v7.app.ActionBarActivityDelegateICS.onCreatePanelMenu(ActionBarActivityDelegateICS.java:146) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.support.v7.app.ActionBarActivity.onCreatePanelMenu(ActionBarActivity.java:199) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.support.v7.app.ActionBarActivityDelegateICS$WindowCallbackWrapper.onCreatePanelMenu(ActionBarActivityDelegateICS.java:293) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at com.android.internal.policy.impl.PhoneWindow.preparePanel(PhoneWindow.java:507) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at com.android.internal.policy.impl.PhoneWindow.onKeyDownPanel(PhoneWindow.java:964) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at com.android.internal.policy.impl.PhoneWindow.onKeyDown(PhoneWindow.java:1670) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchKeyEvent(PhoneWindow.java:2227) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.view.ViewRootImpl$ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:4547) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4523) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4128) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4178) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4147) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4232) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4155) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4289) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4128) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4178) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4147) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4155) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4128) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4178) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4147) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4265) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.view.ViewRootImpl$ImeInputStage.onFinishedInputEvent(ViewRootImpl.java:4415) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.view.inputmethod.InputMethodManager$PendingEvent.run(InputMethodManager.java:2213) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.view.inputmethod.InputMethodManager.invokeFinishedInputEventCallback(InputMethodManager.java:1885) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.view.inputmethod.InputMethodManager.finishedInputEvent(InputMethodManager.java:1876) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.view.inputmethod.InputMethodManager$ImeInputEventSender.onInputEventFinished(InputMethodManager.java:2190) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.view.InputEventSender.dispatchInputEventFinished(InputEventSender.java:141) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.os.MessageQueue.nativePollOnce(Native Method) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.os.MessageQueue.next(MessageQueue.java:132) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.os.Looper.loop(Looper.java:124) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at android.app.ActivityThread.main(ActivityThread.java:5450) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at java.lang.reflect.Method.invokeNative(Native Method) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at java.lang.reflect.Method.invoke(Method.java:525) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003) 
04-14 21:31:25.732: E/AndroidRuntime(24686): at dalvik.system.NativeStart.main(Native Method) 
+0

코드가 아닙니까? 스택 추적 없음? 대답 없음. 체크 아웃 : http://stackoverflow.com/questions/how-to-ask –

+0

'android.app.Activity.onCreatePanelMenu (Activity.java:2579)'에 크래시 코드를 게시해야합니다. – Wun

답변

0

나 자신을위한 해결책을 알아 냈으므로 창을 사용하고 있습니다. FEATURE_NO_TITLE ActionBarActivity를 확장하면 메뉴 버튼을 눌렀을 때 크래시가 발생하는 것을 깨달았습니다. 따라서 액티비티를 확장하도록 변경했습니다. 닫기 및 다시로드를 수정하려면 surfaceDestroyed 메서드로 게임을 종료했습니다.

ActionBarActivity가 기본값으로 선택된 이유를 알 수 없습니다.

관련 문제