Coordinator Layout NullPointerException in onTouchEvent

I get a NullPointerException in onTouchEvent from CoordinatorLayout .

I am using DrawerLayout with CollapsingToolbarLayout support for AppCompat v23.0.0 library for Android support.

My observation occurs when there is an accidental crash when scrolling CollapsingToolbarLayout or clicking on the box items.

Is anyone facing this issue? to avoid this exception?

Logcat:

 08-22 15:16:34.657: E/AndroidRuntime(27596): java.lang.NullPointerException: Attempt to invoke virtual method 'float android.view.MotionEvent.getX()' on a null object reference 08-22 15:16:34.657: E/AndroidRuntime(27596): at android.view.View.onTouchEvent(View.java:9321) 08-22 15:16:34.657: E/AndroidRuntime(27596): at android.support.design.widget.CoordinatorLayout.onTouchEvent(CoordinatorLayout.java:449) 08-22 15:16:34.657: E/AndroidRuntime(27596): at android.view.View.dispatchTouchEvent(View.java:8388) 08-22 15:16:34.657: E/AndroidRuntime(27596): at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2398) 08-22 15:16:34.657: E/AndroidRuntime(27596): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2158) 08-22 15:16:34.657: E/AndroidRuntime(27596): at android.support.v4.widget.DrawerLayout.cancelChildViewTouch(DrawerLayout.java:1491) 08-22 15:16:34.657: E/AndroidRuntime(27596): at android.support.v4.widget.DrawerLayout$ViewDragCallback.peekDrawer(DrawerLayout.java:1739) 08-22 15:16:34.657: E/AndroidRuntime(27596): at android.support.v4.widget.DrawerLayout$ViewDragCallback.access$000(DrawerLayout.java:1624) 08-22 15:16:34.657: E/AndroidRuntime(27596): at android.support.v4.widget.DrawerLayout$ViewDragCallback$1.run(DrawerLayout.java:1630) 08-22 15:16:34.657: E/AndroidRuntime(27596): at android.os.Handler.handleCallback(Handler.java:739) 08-22 15:16:34.657: E/AndroidRuntime(27596): at android.os.Handler.dispatchMessage(Handler.java:95) 08-22 15:16:34.657: E/AndroidRuntime(27596): at android.os.Looper.loop(Looper.java:135) 08-22 15:16:34.657: E/AndroidRuntime(27596): at android.app.ActivityThread.main(ActivityThread.java:5221) 08-22 15:16:34.657: E/AndroidRuntime(27596): at java.lang.reflect.Method.invoke(Native Method) 08-22 15:16:34.657: E/AndroidRuntime(27596): at java.lang.reflect.Method.invoke(Method.java:372) 08-22 15:16:34.657: E/AndroidRuntime(27596): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898) 08-22 15:16:34.657: E/AndroidRuntime(27596): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693) 08-22 15:16:35.965: I/Process(27596): Sending signal. PID: 27596 SIG: 9 
+7
android appcompat drawerlayout android-coordinatorlayout appcompat-v7-r23
source share
3 answers

According to the link provided by Kevin Salazar, the error is fixed if you upgrade your support library to version 23.0.1

+9
source share

This works for me. https://code.google.com/p/android/issues/detail?id=183166

 @Override public boolean dispatchTouchEvent(MotionEvent ev) { try { return super.dispatchTouchEvent(ev); } catch (Exception e) { return false; } } 
+13
source share

As David Chu correctly explains, the problem is resolved in versions 23.0.1 and higher. In addition, in my case, Kevin Salazar’s proposal to try to catch the dispatch receiver seemed to reduce (there might be a shift in perception) the number of crashes, but not completely avoid them.

The key aspect is that the accident is not as random as it seems at first glance. In my case, this happens when you SLOWLY push the drawer out. Opening and closing the drawer quickly does not cause a failure. This helped me reproduce the error.

0
source share

All Articles