나는 이벤트의 매개 변수를 기록하는 간단한 MotionEvent 연습을 작성했습니다. OnTouchListener을 구현하고 onTouch()를 덮어 쓰면됩니다. 주 활동입니다.false를 반환 할 때 onTouch()가 왜 FATAL EXCEPTION을 생성합니까?
onTouch() 끝 부분에서 사실을 반환합니다. 거기에 문제 없습니다.
다른 버튼의 경우 onTouch() 끝 부분에서 거짓을 반환합니다. 이것은 흥미로운 곳입니다. 단순하게 '거짓'을 되 돌리는 것만으로, 나는 정말로 이해할 수없는 작은 힌트, 즉 "두 번 재활용!"로 치명적인 예외를 던집니다.
이것은 무엇을 의미합니까?
업데이트 : 아래의 코멘트, 내가 로그 캣에서 예외의 세부 사항을 추가하고의 제안에 따라 :
03-08 10:35:14.275: ERROR/AndroidRuntime(521): FATAL EXCEPTION: main
03-08 10:35:14.275: ERROR/AndroidRuntime(521): java.lang.RuntimeException: MotionEvent{405215b0 action=0 x=66.0 y=78.0 pressure=1.0 size=0.0} recycled twice!
03-08 10:35:14.275: ERROR/AndroidRuntime(521): at android.view.MotionEvent.recycle(MotionEvent.java:659)
03-08 10:35:14.275: ERROR/AndroidRuntime(521): at android.view.ViewRoot.handleMessage(ViewRoot.java:1880)
03-08 10:35:14.275: ERROR/AndroidRuntime(521): at android.os.Handler.dispatchMessage(Handler.java:99)
03-08 10:35:14.275: ERROR/AndroidRuntime(521): at android.os.Looper.loop(Looper.java:123)
03-08 10:35:14.275: ERROR/AndroidRuntime(521): at android.app.ActivityThread.main(ActivityThread.java:3647)
03-08 10:35:14.275: ERROR/AndroidRuntime(521): at java.lang.reflect.Method.invokeNative(Native Method)
03-08 10:35:14.275: ERROR/AndroidRuntime(521): at java.lang.reflect.Method.invoke(Method.java:507)
03-08 10:35:14.275: ERROR/AndroidRuntime(521): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-08 10:35:14.275: ERROR/AndroidRuntime(521): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-08 10:35:14.275: ERROR/AndroidRuntime(521): at dalvik.system.NativeStart.main(Native Method)
LogCat o/p – Reno